java连接DB2的错误,实在搞不定了。??????????????

deadrock 2002-12-24 09:56:10


主  题: java连接DB2的错误,实在搞不定了。??????????????
作  者: deadrock (在中央精神病院做研究工作)
等  级:
信 誉 值: 100
所属论坛: Java JSP/Servlet/JavaBean
问题点数: 20
回复次数: 14
发表时间: 2002-12-21 19:40:55



code:
<%@ page language="java" import="java.sql.*" contentType="text/html;charset=gb2312" %>

<%
Connection con;
try {

Class.forName("COM.ibm.db2.jdbc.net.DB2Driver").newInstance();

String url = "jdbc:db2://192.168.0.240:6789/mytest";

String userid ="db2inst1";
String password = "password";

// connect to database with userid and password
con = DriverManager.getConnection(url, userid, password );
}
catch (Exception e)
{
out.println(e.getMessage());
return;
}
if(con==null)
{
out.println("connection is null,fail!");
return;
}
out.println("connection ok!");
%>



错误信息:

[IBM][JDBC Driver] CLI0621E “JDBC 服务器”配置不受支持。

如果端口改为50000则另一个错误:

[IBM][JDBC Driver] CLI0615E 从套接字接收时出错,服务器不响应。SQLSTATE=08S01

但是我的/etc/services文件中有:
db2cdb2inst1 50000/tcp # Connection port for DB2 instance db2inst1

所以我认为connection 的port应该是50000,但实际又好像6789才是????????????????????????????????????????




回复人: sun1979song(十步杀一人) ( ) 信誉:120 2002-12-22 15:09:00 得分:0


只用过COM.ibm.db2.jdbc.app.DB2Driver,从未用过COM.ibm.db2.jdbc.net.DB2Driver,这个Driver客户端开销小,但好像需要db2服务器端提供一个特殊的服务作响应,否则连接不上。


Top

回复人: sun1979song(十步杀一人) ( ) 信誉:120 2002-12-22 18:38:00 得分:0


DB2 JDBC Server服务启了吗?
db2jstrt 6789


Top

回复人: deadrock(在中央精神病院做研究工作) ( ) 信誉:100 2002-12-23 09:26:00 得分:0


启动了啊


Top

回复人: sun1979song(十步杀一人) ( ) 信誉:120 2002-12-23 10:39:00 得分:0


客户端程序找不出毛病!既然提示:“JDBC 服务器”配置不受支持。 预计还是服务端的问题,再查查吧,Good lucky!


Top

回复人: deadrock(在中央精神病院做研究工作) ( ) 信誉:100 2002-12-23 11:19:00 得分:0


我对DB2也是刚刚用,不太清楚服务端主要注意那方面的情况
请指点.
thanks


Top

回复人: globalname(google_boy) ( ) 信誉:100 2002-12-23 14:13:00 得分:0


是什么环境?是tomcat的话请参考:
http://expert.csdn.net/Expert/topic/1259/1259106.xml?temp=.4458887


Top

回复人: professional9344() ( ) 信誉:100 2002-12-23 16:02:00 得分:0


劝你还是先用jbuilder6谅解成功了再谈别的吧。


Top

回复人: professional9344() ( ) 信誉:100 2002-12-23 16:06:00 得分:0


你的开发工具是什么?jbuilder 还是 visual Age? 连接驱动名称db2java.zip
搜索一下


Top

回复人: wangjingyue() ( ) 信誉:100 2002-12-23 17:32:00 得分:0


db2目录/java里有个列子,你看一下!db2java.zip要在环境变量中设定


Top

回复人: leonzhao(灯泡) ( ) 信誉:100 2002-12-23 18:31:00 得分:0


DB2 JDBC Applet Server启动了吗?

用netstat -an看看6789有监听吗?

TCP 0.0.0.0:6789 0.0.0.0:0 LISTENING


Top

回复人: deadrock(在中央精神病院做研究工作) ( ) 信誉:100 2002-12-23 18:39:00 得分:0


有啊
我已经db2jstrt 6789了
并且查看了有
TCP 0.0.0.0:6789 0.0.0.0:0 LISTENING
但就是不行
还是说:[IBM][JDBC Driver] CLI0621E “JDBC 服务器”配置不受支持。

我估计代码应该是没有问题的,不知是不是db2还要设置什么???

请各位。。。。


Top

回复人: ilylhfe(兜兜裤) ( ) 信誉:100 2002-12-24 00:26:00 得分:0


有可能你的ODBC不支持数据库,如果换其他的数据库也许连接上会好一点,或者你下载的IBM DB2数据库的ODBC驱动不支持,因为SUN公司网站的ODBC驱动对IBM DB2的支持总是会出错.


Top

回复人: leonzhao(灯泡) ( ) 信誉:100 2002-12-24 07:19:00 得分:0


to ilylhfe(兜兜裤)

这和ODBC没有关系!

to deadrock(在中央精神病院做研究工作)

抱歉没看仔细,是AIX啊,嗯~……有升级到JDBC 2.0吧?(我真是白痴)

另外你的代码肯定是正确的,问题应该出在服务器上。

CLI0621E不受支持的 JDBC 服务器配置。

解释: 目标 JDBC
服务器配置不受支持。若正在运行“控制中心”,则目标 JDBC
服务器必须是独立的 db2jd 进程(通过 db2jstrt 启动) 而不是 2
层本机 JDBC 服务器。

用户响应: 在“控制中心”的目标端口上使用 db2jstrt 重新配置 JDBC
服务器。

可是让我看的话,如果真的没有启动应该是报通讯错误(服务器没响应)才对啊……嗯……


Top

回复人: deadrock(在中央精神病院做研究工作) ( ) 信誉:100 2002-12-24 09:51:00 得分:0


感谢leonzhao(灯泡) :
我的DB2是在Linux上的,
如果我把端口一改成任意的数值的话就会报通讯错误(服务器没响应)
目前只说是服务配置不支持,我认为是双方的通讯握手已经通过
但是还有一些配置问题,所以。。。。


...全文
339 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
richywzh 2003-04-01
  • 打赏
  • 举报
回复
试试换一个端口号,比如:7777.
我本来也遇到过同样的问题,按我上面的方法就解决了。Have a try and good luck!
javaid 2003-03-13
  • 打赏
  • 举报
回复
我估计是服务器端的java包和java12包的问题
你确信有升级到java2吗?
还有默认的端口是6789
wangchq 2003-03-13
  • 打赏
  • 举报
回复
保留50000端口号的话,直接在数据库服务器端启动db2jstrt命令就可以了
ddvboy 2003-01-10
  • 打赏
  • 举报
回复
现在应该搞定了吧
CQP 2003-01-10
  • 打赏
  • 举报
回复
test.jsp

<%@ page language="java" import="java.io.*,java.sql.*,javax.sql.* ,javax.naming.*"%>
<%@ page contentType="text/html;charset=gb2312" %>
<%
String sDBDriver = "COM.ibm.db2.jdbc.net.DB2Driver";
String sConnStr = "jdbc:db2://169.254.1.201/database";

Connection conn = null;
ResultSet rs = null;
Statement stmt = null;
try
{
Class.forName(sDBDriver);
conn = DriverManager.getConnection(sConnStr,"jincheng","781126");
stmt = conn.createStatement();
//stmt.executeQuery("create table aaa(aaa int)");
//stmt.executeUpdate("insert into bbb values(456)");

rs = stmt.executeQuery("select aaa from bbb");
while (rs.next()){
out.println("" + rs.getInt(1) + "");
out.println(":"+"<br>");
//out.println(" + rs.getString('answers') + ");
}
rs.close();

}
catch(Exception e)
{
out.println(e);
}
%>


leonzhao 2003-01-08
  • 打赏
  • 举报
回复
就是指db2jstrt 6789吧
wabc 2003-01-08
  • 打赏
  • 举报
回复
DB2有JDBC服务吗?
xiaocw 2003-01-08
  • 打赏
  • 举报
回复
你要在客户端指定db2java.zip这个包,这个包里面有要用到得COM.ibm.db2.jdbc.net.DB2Driver
注意\SQLLIB\java和\SQLLIB\java12里面都有这个包,我用的是java里面这个。
tanghuan 2003-01-08
  • 打赏
  • 举报
回复
你要启动JDBC服务。50000是实例服务的端口,安装是需要给,如果不给他会在第一个实例使用50000(50001用于其他用途,可以查询资料),第二个50002,第三个50004....

使用 db2jstrt JDBC端口 命令来启动JDBC服务。如果不指定端口,使用缺省的6789
wdman 2003-01-07
  • 打赏
  • 举报
回复
我用了你的代码,是可以的,应该是db2的jdbc服务有问题。
wdman 2003-01-07
  • 打赏
  • 举报
回复
gz
trickhelloall 2002-12-28
  • 打赏
  • 举报
回复
另外,把精神病院的那份工作辞掉吧
trickhelloall 2002-12-28
  • 打赏
  • 举报
回复
把IP地址后面的端口号去掉
matey 2002-12-24
  • 打赏
  • 举报
回复
我和你有同样的问题哦,不过,我在用~/instance/sqllib/samples/java/下面的DB2Applt.java DB2Applt.html时,用appletview来看是好的,你可以看同目录下的README.可是在网页上运行,不报错,也不出结果,不知什么原因

5,888

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧