我正在为Websphere 8.5(z / OS)开发,但我想在我的Windows机器上使用Liberty进行本地开发。我无法使数据源工作。
我在Server.xml中创建了以下条目来定义数据源。
WDR_CELL_STYLE_CLASS_NAME-STYLE_CLASS_NAME
当我的应用程序初始化时,我收到以下错误消息:
[jcc] [4038] [12241] [3.61.65] T2LUW异常:SQL30081N Kommunikationsfehler。 Verwendetes Kommunikationsprotokoll:“TCP / IP”。 Verwendete Kommunikations-API:“SOCKETS”。位置,一个der der Fehler erkannt wurde:“127.0.0.1”。 Übertragungsfunktion,die den Fehler festgestellt hat:“connect”。 Protokollspezifische(r)Fehlercode(s):“10061”,“”,“”。 SQLSTATE = 08001
我认为此消息来自db2驱动程序,遗憾的是我还没有找到将其更改为英语的方法;但我认为这对英语人士来说是可以理解的。
我有一个ODBC系统数据源,它连接到z / OS的DB2 v10维护级别015。我的本地DB2 Connect安装是v9.7.300.3885。
在我的常规Websphere中,我的工作数据源具有驱动程序类型2,数据库名称设置为odbc-name和端口号50000.服务器名称未设置(空)。类路径和实现类与我在server.xml中提供的相同
我已经尝试过我能找到的一切,有什么想法吗?
注意:我无法对db2服务器进行更改,并且使用其他工具和常规WebSphere连接到数据库没有问题。 此外,websphere配置中的服务器名称为空,仅设置了数据库名称。当我尝试将server.xml中的servername设置为localhost或db2服务器时,我得到了相同的结果。
感谢任何帮助!
编辑:使用正确的版本信息进行更新
编辑2:只要它工作,我不在乎使用什么类型的(2或4)jdbc驱动程序。我只想再次指出,类型2目前正在我的机器上工作。我尝试使用类型4并得到以下消息:
[jcc] [t4] [2043] [11550] [3.61.65]异常java.net.ConnectException:在端口50,000上打开到服务器xxx / xxx.30.3.34的套接字时出错:消息:Connection refused:connect。 ERRORCODE = -4499,SQLSTATE = 08001 DSRA0010E:SQL状态= 08001,错误代码= -4,499
答案 0 :(得分:1)
抱歉,之前的帖子吃了我的xml。再试一次:
您需要一个类型4数据源才能连接到远程数据库服务器,即
<dataSource id="xxdb" jndiName="jdbc/xxxx" type="javax.sql.XADataSource">
<properties.db2.jcc driverType="4" serverName="the.db2.host.com" portNumber="50000" user="xxxx" password="xxxx" databaseName="LOC1" currentSQLID="SYSA"/>
<jdbcDriver libraryRef="DB2JCC2Lib">
</dataSource>
类型2仅适用于与数据库资源的本地z / OS连接。远离z / OS的Windows要求您使用类型4连接。类型4要求指定serverName和portNumber。这些不适用于类型2连接。