2

私は、MSSQLSERVER 2008 データベースを動的に作成している Web アプリケーションに取り組んでいます。

しかし、それは私に与えています

java.sql.SQLException: No suitable driver found for jdbc:sqlserver://localhost:1433;databaseName=master

私のコードは次のとおりです。

String dbName = "db1";
try {
    String url = "jdbc:sqlserver://localhost:1433;databaseName=master";
    Connection connection = DriverManager.getConnection(
                 url,
                 "sa",
                 "roshan14121987");

    Statement statement = connection.createStatement();
    String sqlquery = "CREATE Database \"" + dbName + "\"; ";
    statement.executeUpdate(sqlquery);
    statement.close();

    connection.close();

} catch(Exception e) {
    e.printStackTrace(); 
}

libにsqljdbc4.jarを追加しました。NetBeans (GlassFish と Tomcat サーバー) と Eclipse IDE (Tomcat サーバー) の両方で試しました。

一方、単純なデスクトップ アプリケーションでこれを試してみましたが、両方の IDE で正常に動作しています。libに追加されたsqljdbc4.jarを使用。

4

3 に答える 3

9

呼び出す前DriverManager.getConnection()に、SQLServer JDBC ドライバーをロードする必要があります。xxxxはClass.forName("xxxx");適切なドライバー クラス (パッケージ プレフィックス付きの完全修飾名) です。

編集:これClass.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");を実行して、ドライバーをロードします。詳細については、 MSDN リンクを参照してください。

于 2013-07-20T08:05:51.167 に答える
2

WEB sqljdbc4.jar-INF/lib の下の war ファイルにあります。これは $CATALINA_HOME/lib の代替の場所であり、Web アプリケーションを自己完結型に保つために推奨されます。さらに、サーバーを変更する必要がある場合は、war を webapps ディレクトリにドロップするだけで済みます。

Class.forName([データベース クラス]).newInstance も必要になる場合がありますが、JDBC 4.0ドライバーを使用する場合は必要ありません。頑張ってください。さらに問題がある場合は、コメントを残してください。

于 2013-07-20T08:08:55.043 に答える
1

エラーはTomcatサーバーのランタイムで発生しますよね? sqljdbc4.jar がサーバーにデプロイされていることを確認する必要があると思います。

于 2013-07-20T07:55:46.200 に答える