今天部署项目出现以下错误:
2012-04-28 14:52:59 WARN com.mchange.v2.resourcepool.BasicResourcePool -com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@640b25 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:
com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“RSA premaster secret error”。
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1368)
at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1412)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1058)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:833)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:716)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:841)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:135)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
Caused by: javax.net.ssl.SSLKeyException: RSA premaster secret error
at com.sun.net.ssl.internal.ssl.RSAClientKeyExchange.<init>(RSAClientKeyExchange.java:97)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:744)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:238)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:893)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1165)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1149)
at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1379)
... 12 more
Caused by: java.security.NoSuchAlgorithmException: SunTlsRsaPremasterSecret KeyGenerator not available
at javax.crypto.KeyGenerator.<init>(DashoA13*..)
at javax.crypto.KeyGenerator.getInstance(DashoA13*..)
at com.sun.net.ssl.internal.ssl.JsseJce.getKeyGenerator(JsseJce.java:223)
at com.sun.net.ssl.internal.ssl.RSAClientKeyExchange.<init>(RSAClientKeyExchange.java:89)
... 21 more
2012-04-28 14:52:59 WARN com.mchange.v2.resourcepool.BasicResourcePool -com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@17d56b -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:
网上搜索了下, 找到这篇文章暂时解决了问题
http://corrinejtt.iteye.com/blog/919418
分享到:
相关推荐
当SQLSERVER数据库驱动程序遇到无法通过安全套接字层(SSL)加密与SQL Server建立安全连接的问题时,通常涉及到证书配置、驱动版本兼容性、Java安全策略或者缺少必要的库文件等问题。以下是一些解决此类问题的知识点...
解决SQLSERVER数据库驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接问题JAR包
希望目标:JDK6不更换,连接SQLServer2008R2 解决步骤: 第一步: 下载两个jar包:bcprov-ext-jdk15on-1.54.jar和bcprov-jdk15on-1.54.jar 点击下载jar包 第二步:将下载的两个JAR文件复制到:JDK安装目录\jre\lib\...
解决jdk1.6连接sqlserver:驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。内含readme文档。根据大神源码打包,本人项目使用无问题,如果对你有帮助的话可以给个好评。
由于项目中必须得用JDK6来作为Java环境,于是连接SQLServer时出现了com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“ Java...
NULL 博文链接:https://1017401036.iteye.com/blog/2401135
总的来说,通过使用Java和特定的JDBC驱动,你可以成功地建立一个SQLSERVER客户端到服务器的SSL安全连接。这个过程涉及到配置连接字符串、处理证书以及确保Java环境和JDBC驱动的正确安装。对于开发和维护安全的应用...
使用`java.sql.DriverManager`加载驱动,然后使用`DriverManager.getConnection()`建立连接。 ```java String url = "jdbc:jtds:sqlserver://your_server_name:port/database_name"; String username = "your_...
解决无法通过SSL加密与SQLServer建立连接 在部署项目时,经常会遇到驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接,错误:Java.lang.RuntimeException: Could not generate DH keypair
标题提及的“无法通过SSL加密无法与SQL Server产生连接”通常涉及到几个关键问题:服务器配置、客户端支持、证书问题和网络设置。首先,SQL Server需要配置为接受SSL连接,这涉及在服务器端安装并配置SSL证书。证书...
好好好好好好好好好好好好好好好好好好好好好好好好好好
SQL Server连接不成功的原因 很多人都打建好自己的sql动网数据库 但是自己连接不上去 为什么 就到这里找原因吧
数据库驱动程序是计算机软件,它在应用程序和数据库管理系统(DBMS)之间建立连接,使得应用程序可以与数据库进行交互。在本例中,我们关注的是Oracle驱动包,这是一组专门用于连接到Oracle数据库的组件。Oracle是...
传输层安全套接字(TLS)和SSL是基于套接字的加密协议,主要工作在传输层,用于在客户端和服务器之间建立加密连接。IPsec是基于网络层的加密协议,用于在两个IP地址之间建立安全通信。物理层则是构成网络传输基础的...
SQL JDBC驱动是微软提供的Java Database Connectivity (JDBC) 驱动,使得Java应用程序能够与SQL Server进行交互。有两个主要的版本在压缩包中出现:sqljdbc4.jar和sqljdbc.jar。它们的区别在于对Java Development ...