我正在尝试配置 activiti 以使用 Windows 身份验证来通信 ms-sql 2014,而不是使用连接 url 中的用户名/密码。
我做了什么 ?
- 下载了 JDBC Driver,将 sqljdbc4-3-0.jar 放入 JAVA_HOME 和 web-info\lib 中
- 将sqljdbc_auth.dll(64位)放入C:\Windows\System32
- 在 db.properties 中设置集成安全性,如下所示:
db.properties (C:\Workflow\apache-tomcat-7.0.62\webapps\activiti-explorer\WEB-INF\classes):
db=mssql
jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc:sqlserver://127.0.0.1:1433;databaseName=activiti;integratedSecurity=true;
使用常规身份验证时(我删除integratedSecurity=true并添加user=XXX和password=XXX,它有效!)
当我打开日志时,最后一行是:
DEBUG org.springframework.jdbc.datasource.SimpleDriverDataSource: Creating new JDBC Driver Connection to [jdbc:sqlserver://localhost;databaseName=activiti;integratedSecurity=true;]
然后 java 应用程序关闭,我看到 hs_err_pid4232.log 附带异常:
EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000061a3cf13, pid=4232, tid=8080
什么会导致此功能不起作用?
我想想也许它没有加载 DLL/JARS,它应该是为了使用 JDBC 驱动程序? sql server 配置如下所示:
进程崩溃日志位于:http://pastebin.com/xpW5yvEP
最佳答案
此错误表明“身份验证 dll 出现问题”。尝试以下步骤:
下载最新的sqljdbc,从这里解压到本地:https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774
将 .jar 放入类路径中,将 .dll 放入库路径中。通过在启动中添加 -Djava.library.path=PATH/TO/DLL 来尝试使用“真实”路径。
运行 java -fullversion 以确保安装了正确的 .dll(32 位与 64 位)。
再次运行程序。
关于java - Tomcat7 Catalina 上的 JDBC 与 MSSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34382408/