15

データベースへの接続を確立しようとしています。これは、maven を使用した単純なプロジェクトです。

問題がありますsqljdbc_auth.dll

mssql jdbc ドライバーを追加し、依存関係を追加しましたpom.xml

<dependency>
    <groupId>com.microsoft</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>4.0.0</version>
</dependency>

これは私のtryブロックです

try {
    // Establish the connection. 
    SQLServerDataSource ds = new SQLServerDataSource();
    ds.setIntegratedSecurity(true);
    ds.setServerName("BUILDSRV");
    ds.setDatabaseName("master");
    ds.setIntegratedSecurity(true);
    con = ds.getConnection();       
}

そして、私はこのエラーが発生します

    21.11.2012 18:07:04 com.microsoft.sqlserver.jdbc.AuthenticationJNI <clinit>
    WARNING: Failed to load the sqljdbc_auth.dll cause :- no sqljdbc_auth in       java.library.path
    com.microsoft.sqlserver.jdbc.SQLServerException:

私は持っていますが 、それを私のプロジェクトに追加する必要sqljdbc_auth.dllはありません。C:\windows\...これどうやってするの?

に追加しようとしましたpom.xmlが、機能しません

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>1.1</version>
    <executions>
    <execution>
        <id>attach-artifacts</id>
        <goals>
            <goal>attach-artifact</goal>
        </goals>
        <configuration>
            <artifacts>
                <file>target</file>
                <type>dll</type>
            </artifacts>
        </configuration>
    </execution>
    </executions>
</plugin>

ビルド中に別のエラーが発生しました

Failed to execute goal org.codehaus.mojo:build-helper-maven-plugin:1.1:attach-artifact (attach-artifacts) on project mavenproject1dbconnect: Unable to parse configuration of mojo org.codehaus.mojo:build-helper-maven-plugin:1.1:attach-artifact for parameter file: Cannot configure instance of org.codehaus.mojo.buildhelper.Artifact from target -> [Help 1]
4

3 に答える 3

0

ここを使う必要はないと思いますmaven-helper-plugin。ここのドキュメントには、dll をインストールするか、システム変数でそのパスを指定する必要があると書かれていますjava.library.path

http://msdn.microsoft.com/en-us/library/ms378428.aspx#Connectingintegratedを見て ください。

更新: dll が jar と共に配布されていることを確認してください。Maven を使用している場合は、dll ファイルを src/main/resources フォルダーに配置します。次に、パッケージから dll を除外して、dll が jar の外にあることを確認します。ここで説明されている手順と同様の手順に従います。targetこの後、ディレクトリにビルドされたjarファイルとともにdllが必要です

次に、アプリを実行するときに、システム プロパティをコマンドライン パラメータとして渡しますjava -Djava.library.path=.

コマンドライン経由でパラメーターを渡したくない場合は、現在の作業ディレクトリを抽出し、ここSystem.getProperty("user.dir"))に記載されている手順に従って、メソッドでプログラムによって現在のディレクトリに設定できますjava.library.pathmain

于 2012-11-21T15:58:55.327 に答える