0

JDBC4.0 を介して SQL サーバー 2008 データベースにアクセスしています。問題は、グラスフィッシュ サーバーが再起動されたときに DB にアクセスできることです。コードは正常に実行されますが、コードに変更を加えると、グラスフィッシュ サーバーを再起動する必要があります。そうしないと、次のエラーが生成されます。

警告: sqljdbc_auth.dll の読み込みに失敗しました原因: ネイティブ ライブラリ C:\Windows\System32\sqljdbc_auth.dll は、別のクラスローダーに既に読み込まれています

Eclipseエディターを使用しているこの問題を解決するにはどうすればよいか教えてください。そして私のコードは

String url = "jdbc:sqlserver://localhost;databaseName=ProductDB; integratedSecurity=true;";
             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
        con = DriverManager.getConnection(url);
        System.out.println("Connected");
4

2 に答える 2

1

GlassFish でデータ ソースが正しく定義されている場合は、.java ファイルへの変更を確認するためにアプリケーションを再デプロイするだけで済みます (ホット デプロイを使用することもできますが、私の経験はあまり良くありません)。XML ファイルは、再デプロイする必要さえありません。

更新:あなたの編集から、ドライバーなどを手動でロードしていることがわかります。GlassFish にデータ ソースを管理させ、リソース インジェクションを使用して接続を取得することをお勧めします。

編集:質問を適切に読み直しています... sqljdbc_quth.dllSQL認証を使用している場合、ライブラリは必要ありませんが、SQLサーバーでの認証が高速化されます。当社の製品で試してみましたが、目立った違いはなかったので、それ以来気にしていません.

于 2013-06-20T18:19:53.127 に答える
0

xml または .java ファイルを変更した場合は、必ず再起動する必要があります。

re loadable resource-bundle を使用してプロパティ ファイルを読み取れば問題ありません。

更新: 「自動的にビルド」をチェックするよりも、トップバーのプロジェクトに移動してください。プロジェクトの自動ビルドを停止し、貴重な時間を節約します。

于 2013-06-20T18:16:02.720 に答える