2017-07-25 141 views
-1

我正在专用的bluemix服务器上创建Java Liberty Web应用程序。我试图在IBM的zOS上创建与DB2的连接,并且正在尝试使用JDBC连接。我可以在我的计算机上本地连接,但是当它试图在应用程序的连接,它抛出这个错误:IBM JDBC DB2后端连接在防火墙后

[err] Error Message: [jcc][t4][10380][11951][3.65.97] Required property "fpd1dbv.bhprod.ibm.com" is unknown host. ERRORCODE=-4222, SQLSTATE=08001

[err] SQLState: 08001

[err] Error Code: -4222

[err] com.ibm.db2.jcc.am.SqlNonTransientConnectionException: [jcc][t4][10380][11951][3.65.97] Required property "fpd1dbv.bhprod.ibm.com" is unknown host. ERRORCODE=-4222, SQLSTATE=08001

我也有这个进入我的server.xml文件中的Web应用程序结构中:

<library id="DB2JCC4Lib"> 
    <fileset dir="/src/main/webapp/WEB-INF/lib" includes="db2jcc4.jar db2jcc_license_cisuz.jar db2jcc_license_cu.jar db2jcc.jar"/> 
</library> 

<dataSource id="db2" jndiName="jdbc/db2" type="javax.sql.DataSource" jdbcDriverRef="DB2JCC4Lib"> 
    <jdbcDriver libraryRef="DB2JCC4Lib"></jdbcDriver> 
    <properties databaseName="BHPRDFPD" serverName="fpd1dbv.bhprod.ibm.com" portNumber="448" driverType="4"/> 
</dataSource> 

我相信它找不到主机,因为它位于IBM的防火墙之后。有没有办法绕过防火墙从这个数据库中获取信息?或者,是否有更简单的方法从专用bluemix服务器上的IBM防火墙后的DB2中获取信息?任何人可以提供绕过防火墙来提取信息的帮助将不胜感激!

+0

看看文档。您需要bluemix上的db2服务器的公共IP地址:https://console.bluemix.net/docs/services/DB2OnCloud/index.html#DB2OnCloud –

回答

0

DB2-for-Z/OS不太可公开访问。向您的DB2-for-Z/OS sysprogs或DBA咨询您的bluemix jdbc客户端和您尝试访问的Z/OS子系统之间的可连接性。

可能有一个网关机器可以公开访问(某种程度上),并且该网关可以运行DB2连接软件并访问DB2-for-Z/OS。如果这是解决方案,那么您的jdbc客户端将仅引用网关(而不是直接引用DB2 Z/OS子系统)。所以问你的DBA和sysprogs。