我正在尝试使用 Tomcat8 中的 com.microsoft.sqlserver.jdbc.SQLServerXADataSource
设置连接池。虽然使用 com.microsoft.sqlserver.jdbc.SQLServerDriver
一切正常,但在使用 SQLServerXADataSource
时,Tomcat 声称找不到合适的驱动程序
。
我确定正确的驱动程序 jar 在 $CATALINA\lib
中,但是我不确定它是否正确加载,如 com.microsoft.sqlserver.jdbc.SQLServerDriver
在 lib
中使用和不使用该驱动程序。可能加载了一些我找不到的其他驱动程序。
到目前为止 Windows 和 OS X 上的类似问题...
有人知道怎么解决吗?
更新:我在代码中设置我的数据源,如下所示:
//Class.forName("com.microsoft.sqlserver.jdbc.SQLServerXADataSource");
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
final ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(connectURI, null);
final PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory, null);
final GenericObjectPool<PoolableConnection> connectionPool = new GenericObjectPool<>(poolableConnectionFactory);
poolableConnectionFactory.setPool(connectionPool);
return new PoolingDataSource<>(connectionPool);
最佳答案
此配置应该有效。对相应的值进行必要的更改:
<Resource name="jdbc/mssql"
auth="Container"
type="com.microsoft.sqlserver.jdbc.SQLServerXADataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
integratedSecurity="false"
serverName="127.0.0.1"
databaseName="yourDbName"
portNumber="1433"
user="username"
password="pwd" />
关于java - Tomcat8 加载错误的 SQL Server 驱动程序/未找到 SQLServerXADataSource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31156834/