2012-05-12 15 views
0

JDBCを使用してJavaでMicrosoft SQL Server 2005を接続しようとしていますが、次のExceptionを取得しようとしています。私のプロジェクトはEclipseで実行されていないので、「要求されたリソースが見つかりません」と表示されています(すべてのサーバー設定を終了し、サーバーからプロジェクトを追加したり削除したりします)ビルドパスを使用してJARを作成し、WEB-INF/libにも入れます。私のコードは次の接続を取得できません。MSSQLサーバー2005-JDBC接続

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.Statement; 

import com.microsoft.sqlserver.jdbc.SQLServerDriver; 
/** 
* @author www.javaworkspace.com 
* 
*/ 
public class SMSdao { 
    public static void main(String[] args) { 
     try { 

     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
      Connection connection = DriverManager 
        .getConnection( 
          "jdbc:sqlserver://192.128.10.17:1433;databaseName=TEK_R;selectMethod=cursor", 
          "sa", "[email protected]"); 

      System.out.println("DATABASE NAME IS:" 
        + connection.getMetaData().getDatabaseProductName()); 
      Statement statement = connection.createStatement(); 
      ResultSet resultSet = statement 
        .executeQuery("SELECT * FROM dbo.SMS_OUT"); 
      while (resultSet.next()) { 
       System.out.println("Message:" 
         + resultSet.getString("MessageIn")); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

とスタックtrcaeです:

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
     at java.lang.Class.forName0(Native Method) 
     at java.lang.Class.forName(Class.java:186) 
     at SMSdao.main(SMSdao.java:13) 

はすべてを試してみましたが、私はウェブ上で発見何でもすべての事を行って。 Windows 7でjdk 7とtomcat 6を使用しています。

答えて

2

MicrosoftからSQLServerDriver JDBCをダウンロードする必要があります。 Class.forNameが指定したクラス名を検索していて、クラスパスでそれを見つけることができません。

http://msdn.microsoft.com/en-us/sqlserver/aa937724

ジャスト(Tomcatの共有ライブラリが優れている)、プロジェクトのクラスパスにjarファイルを置きます。

+0

Hey Danielあなたが何を言っているのか、私はこれらすべてを行っていますが、現在は「パッケージが見つかりませんでしたcom.microsoft.sqlserver.jdbc」というコンパイル時のエラーが表示されています。 –

+0

Tomcatのサーバーランタイムはプロジェクトのビルドパウにありますか? –

+0

Tomcatのサーバーランタイムは、プロジェクトのビルドパスに存在します。 –

0

私はまた、代わりのjTDSを使用することをお勧めします:http://jtds.sourceforge.net/

歴史的に、MicrosoftのJDBCドライバが完全にJDBC仕様の重要かつ有用な部品を実装するために失敗しています。 jTDSはより完全に機能し、オープンソースでなければなりません。