首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接到远程DB2数据库

问连接到远程DB2数据库
EN

Stack Overflow用户
提问于 2014-02-09 22:08:38
回答 1查看 8.7K关注 0票数 2

首先,我要说,我对这类事情完全陌生。不管怎样..。

我正在尝试连接到一个DB2数据库。服务器正在运行Ubuntu12.04和Apache 7。驱动程序db2jcc.jar包含在构建路径中。

以下是我的JSP代码:

代码语言:javascript
复制
<%@ page import="java.sql.*" %>
<% Class.forName("com.ibm.db2.jcc.DB2Driver");%>
<HTML>
<HEAD>
<TITLE>db2 connection</TITLE>
</HEAD>
<BODY>
<%
  String url = 
  "jdbc:db2://IP_ADDR:60000/INST1" +
  ":user=USERNAME;password=PASSWORD;" +
  "traceLevel=" +
  (com.ibm.db2.jcc.DB2BaseDataSource.TRACE_ALL) + ";";
  Connection con = java.sql.DriverManager.getConnection(url);
%>
</BODY>
</HTML>

我收到的错误消息是:

应用服务器拒绝建立连接。尝试访问数据库INST1,该数据库要么未找到,要么不支持事务。ERRORCODE=-4499,SQLSTATE=08004

我查看了关于这个问题的IBM支持页面:http://www-01.ibm.com/support/docview.wss?uid=swg21443723

它提到使用目标目录名,通过发出db2 list dcs directory命令找到。

在服务器上,我的命令最初是空白的,但是我使用db2 catalog dcs database DB2INST1 as INST1命令创建了一个条目。

现在,我使用db2列表dcs目录的输出如下:

数据库连接服务(DCS)目录 目录中的条目数=1 DCS 1条目: 本地数据库名称= DB2INST1 目标数据库名称= INST1 应用程序请求者名称= DCS参数= 评论= DCS目录发布级别= 0x0100

我通过执行db2stop和db2start来重置数据库

最后,我运行了netstat -tulpn,并看到数据库正在监听端口60000。产出如下:

TCP0-0.0.0.0:60000 0.0.0.0:*听 2949/db2sysc

这就是我所得到的。据我所知,我正在使用目标数据库名,并试图连接到正确的端口号。

我在这里叫对的树吗?任何帮助都是非常感谢的。

**编辑:对胡子回应的格式化答复**

在服务器上,在我继续操作之后,我会下降一个级别。我得到了4个名为<USERNAME>, dasusr1, db2fenc1, db2inst1的目录

在那里,我做了sudo su db2inst1,然后运行db2 list dcs directory command以获得:

代码语言:javascript
复制
Database Connection Services (DCS) Directory
Number of entries in the directory = 1

DCS 1 entry:

Local database name                = DB2INST1
Target database name               = INST1
Application requestor name         =
DCS parameters                     =
Comment                            =
DCS directory release level        = 0x0100
EN

回答 1

Stack Overflow用户

发布于 2020-05-19 18:57:37

已经有一段时间了,但对于其他人来说,他们正在寻找db2连接问题的解决方案。如果人们想测试开发机器到db2服务器的物理连接性,请使用DB2驱动程序附带的CLPPlus,并手动输入连接参数,以确保您具有物理连接性。我的环境和上面的加勒特完全不同,但我想再提供一条线索来帮助人们沟通。我在SSIS中使用VS 2015企业。我使用CLPPlus来确认物理连接,然后开始尝试将ADO.Net源代码连接到db2。服务器凭据db2server.mydomain.com:523必须重写端口,才能将端口重写为523。然后发生了一件有趣的事。SSIS对连接感到不安,于是我开始查看参数。其中一个参数是身份验证,您可能可以在jdbc中编写该参数。我将DB2 (相对于ldap或其他钱包)作为身份验证的值,它起了作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21665712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档