我正在尝试从自由服务器连接到 Sql Server 数据库。不起作用,因为我从自由服务器获得了 500,并且日志给了我这个错误消息:The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: SQL Server did not return a response.
我的xml:
<library id="sqlServerLib2" apiTypeVisibility="spec,ibm-api,api,third-party"
<fileset dir="${server.config.dir}/lib/global" includes="mssql-jdbc-6.1.0.jre8.jar"/>
</library>
<dataSource id="myDataSource" jndiName="jdbc/myDataSource">
<jdbcDriver libraryRef="sqlServerLib2"/>
<properties.microsoft.sqlserver
serverName="localhost"
portNumber="8080"
databaseName="my_db"
user="user"
password="password"/>
<connectionManager maxPoolSize="100" minPoolSize="0"/>
</dataSource>
我看过IBM 的页面。没有提供太多帮助。
我也用谷歌搜索了错误消息,但人们通常说我应该将我的驱动程序更新到至少 4.2。我使用的是 6.1,所以这并不适用。
我在这里想念什么?谢谢。
编辑:我查看了Microsoft 的页面,发现我使用的是不兼容的 jdbc-api 版本。我将其从 4.0 更改为 4.1。
<featureManager>
<feature>jdbc-4.1</feature>
</featureManager>
我还在我的datasource
.
<jdbcDriver libraryRef="sqlserverLib2"
javax.sql.DataSource="com.microsoft.sqlserver.jdbc.SQLServerDataSource"
javax.sql.ConnectionPoolDataSource="com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolDataSource"/>
现在我得到一个java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDataSource
.
我尝试使用mssql-jdbc-6.1.0.jre7.jar
(java 7) 代替。然后突然间我工作了。我对 jre8 版本的驱动程序做错了什么?