报错以下信息html
com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: Cannot connect to jdbc:sap://xxx.xxx.xxx.xxx:30015 [Cannot connect to host xxx.xxx.xxx.xxx:30015 [Connection refused: connect], -813.].
应该优先考虑端口号问题。java
在SAP HANA STUDIO中使用30015端口没问题,但为何到了JDBC这里又有问题了呢?sql
原来该连接为Multiple container,不一样的container有不一样的端口,这时候应该问数据库管理员要正确的端口。数据库
最终正确的端口为30059,多是人为或者是机器设置的。code
另外,使用JDBC的时候,应去掉pom部分的xml,以下:xml
<dependency> <groupId>com.sap.cloud.db.jdbc</groupId> <artifactId>ngdbc</artifactId> <version>2.4.63</version> <!--<type>pom</type>--> </dependency>
并且,虽然group id写着com.sap.cloud.db.jdbc,但实际java使用的时候,仍是得这么导入,估计是由于一些历史遗留的命名问题:htm
Class.forName("com.sap.db.jdbc.Driver"); // 必须使用老的包路径。使用新的com.sap.cloud.db.jdbc会报错
里边详细写了不一样container模式下的端口号。若是参照SAP官方教程不行,那么就得问DB管理员具体自定义的端口号是多少了。ip
multiple container:不光是db里的数据,还有外部应用,均可以放在container里边。一个数据库能够有多个container的概念,方便系统升级。get