SAP HANA数据库连接在控制台应用程序中运行良好,但同样的事情不适用于服务

时间:2017-11-02 11:58:56

标签: java database jdbc websphere hana

SAP HANA数据库连接在控制台应用程序中运行良好,但从服务或Web应用程序调用时,同样的事情无法正常工作。 显示错误,如没有合适的驱动程序。我添加了ngdbc.jar。 我使用过Websphere8.5服务器和java 1.6

Class.forName("com.sap.db.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:sap://hostname:30015/?autocommit=false&user=myuser&password=mypassword");

1 个答案:

答案 0 :(得分:0)

不要强调上述观点,您的JDK将在2018年4月停止服务,现在考虑转向Java 8。当你说“数据库连接在控制台应用程序中正常工作”时,我认为你的意思是你能够成功地从控制台测试连接。从您粘贴的代码段中,您的应用程序失败的原因是您没有使用您在WAS中配置的数据源以及测试连接正在使用的数据源。相反,您试图直接访问DriverManager,它将绕过服务器的JDBC管理,包括连接和语句池。该类无法加载,因为应用程序类路径未配置为直接加载这些类。 Java EE应用程序通常会通过resource-ref,@ Datasource或其他方式将您在WAS中配置的数据源注入到您的应用程序中。这个SO post解释了数据源和DriverManager之间的区别。