您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Java >> JDBC访问DB2,参数正确,但是提示SQLCODE=-204, SQLSTATE=42704,

JDBC访问DB2,参数正确,但是提示SQLCODE=-204, SQLSTATE=42704,

来源:网络整理     时间:2016/7/29 9:46:06     关键词:

关于网友提出的“ JDBC访问DB2,参数正确,但是提示SQLCODE=-204, SQLSTATE=42704,”问题疑问,本网通过在网上对“ JDBC访问DB2,参数正确,但是提示SQLCODE=-204, SQLSTATE=42704,”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: JDBC访问DB2,参数正确,但是提示SQLCODE=-204, SQLSTATE=42704,
描述:


Class.forName("com.ibm.db2.jcc.DB2Driver");
Connection conn = getconn("jdbc:db2://127.0.0.1:50000/TESTRA", "TEST", "123456");
ResultSet rs = stmt.executeQuery("select *from TB_ADMIN ");

错误提示:

Exception in thread "main" com.ibm.db2.jcc.a.bn: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=TEST.TB_ADMIN, DRIVER=3.51.90

分析:
-204 
42704 
没有定义的对象名 
需要查 DB2ADMIN这个schema下,是否有TB_ADMIN这个表。
但是我现在的schema名称都是RA
数据库名称是TESTRA
用户名是TEST
密码123456
使用toad工具查看发现数据库中表是这样的,toad使用上述参数是可以正常连接访问的,
"RA"."TB_ADMIN",是schema为打头的,我的JDBC组合中为什么变成了用户名打头呢TEST.TB_ADMIN,?
还需要有什么特殊的设置么?

解决方案1:

貌似LS正确,LZ结果怎样了

解决方案2:

ResultSet rs = stmt.executeQuery("select *from DB2ADMIN.TB_ADMIN ");
改成这样

解决方案3:

是不是你的Test用户没有对TB_ADMIN表的操作权限 

解决方案4:

Connection con=DriverManager.getConnection(url, user, password)
这种好用

解决方案5:

你连接数据库的用户是TEST吧,jdbc默认的会将你的用户名作为默认的schema的,所以你需要指定schema的名字,或者在查询的时候,先set schema = XXXX,建议你还是在表名前加上schema的名字。因为一个数据库中可能有很多不同的schema,好方便管理。

解决方案6:

引用 3 楼 xiaxiaorui2003 的回复:
Java codepublicstaticvoid   main(String[] args)   {   
        String   sDBDriver="com.ibm.db2.jcc.DB2Driver";   
        String   sC>需要加入用户的schema可以查出来了 
怎么了啊
以上介绍了“ JDBC访问DB2,参数正确,但是提示SQLCODE=-204, SQLSTATE=42704,”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3001049.html

相关图片

相关文章