听说用JDBC连接数据库会出现很多问题,所以在连接之前我看了很多资料才开始连接,按照一些参考资料配置好后,很快就把使用用户名登录模式连接连接上数据库了,能够进行sql操作。但是改用windows验证模式时一直提示这样的错误:
2013-1-27 19:18:50 com.microsoft.sqlserver.jdbc.AuthenticationJNI <clinit>
警告: Failed to load the sqljdbc_auth.dll cause :- no sqljdbc_auth in java.library.path
com.microsoft.sqlserver.jdbc.SQLServerException: 没有为集成身份验证配置驱动程序。
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1352)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2329)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:1905)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
atcom.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:1893)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
atcom.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1045)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:817)
... 11 more
查了一下,网上我所能找到的做法是:把sqljdbc_3.0\chs\auth\x64下的sqljdbc_auth.dll文件拷贝到:C:\Windows\System32。但是我这样做了不行。
因为我的系统是64位的,所以考x64文件夹下的sqljdbc_auth.dll。不行之后我还把x86,IA64下的都试过了,还是不行。现在我想问一下哪里出问题了?
在网上找到的答案基本都是这样弄了之后就成功连接了,有的实在不行就放弃了windows登录模式的连接方式。本来我也想放弃的,但是想想都弄了大半天了,为什么不尽量解决它呢?希望能得到指点,谢谢了。
顺便强调一下:我的JDF配置是正确的,驱动没问题(sqljdbc3.0驱动,2.0也换过,不行),TCP/IP端口可用,正确导入sqljdbc4.jar到工程,sqljdbc_auth.dll 文件也拷贝到了c://windows//system32目录下。最终还是不行。
数据库 jdbc windows sqlserver system
你试试把你的sqljdbc_auth.dll文件复制到bin文件夹看看,就是你的JDK中的bin,像我的就是C:\Program Files (x86)\Java\jdk1.6.0_10\bin。