Я установил соединение с mssql, используя persistence.xml
в java. Для этого мне пришлось скопировать sqljdbc_auth.dll
в систему32, потому что я хотел использовать аутентификацию Windows для подключения. Есть ли способ достичь такого же результата без копирования файла dll? Удаление DLL вызывает это предупреждение и предотвращает выполнение:Подключение к mssql через постоянство без копирования dll
Failed to load the sqljdbc_auth.dll cause : no sqljdbc_auth in java.library.path
Это моя настойчивость:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1"
xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="migration">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>migration.xcs.model.Kennzahl</class>
<properties>
<property name="javax.persistence.jdbc.driver"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect" />
<property name="javax.persistence.jdbc.url"
value="jdbc:sqlserver://localhost:1433;databaseName=kendb;integratedSecurity=true;" />
<property name="hibernate.archive.autodetection" value="class" />
</properties>
</persistence-unit>
И это мои POM зависимости:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.0.5.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.0.5.Final</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
</dependency>
да, и это мой вопрос. есть ли способ использовать проверку подлинности Windows без добавления sqljdbc_auth.dll в system32. Что-то вроде использования определенного свойства для режима аутентификации в постоянстве? Если я копирую sqljdbc_auth.dll в system32, он работает, но мне просто интересно, есть ли другой способ. – Iman
Нет никакой другой оптимизации, которую вы можете сделать, что предлагает Adbelhak - правильно. Вы можете проверить этот [связанный] (http://stackoverflow.com/questions/17277001/dll-missing-in-jdbc) вопрос. – javapapo