繁体   English   中英

dBeaver(CE):发生SQL错误42704的DB2 LUW连接。表模式无法打开,但能够编写SQL查询

dBeaver (CE): DB2 LUW Connection with SQL ERROR 42704. Table Schema won't open but able to write SQL queries

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

大约一年半之后,我终于可以通过dBeaver连接到我们拥有的DB​​2数据库。 作为LUW,连接成功(我们的db2是z / os)。 安装IBM Data Studio之后,我能够获得所需的驱动程序。

连接后,我进入模式,转到表,然后单击它,出现以下错误。

SQL Error [42704]: SYSCAT.SCHEMATA IS AN UNDEFINED NAME. SQLCODE=-204, SQLSTATE=42704, DRIVER=3.69.56
SYSCAT.SCHEMATA IS AN UNDEFINED NAME. SQLCODE=-204, SQLSTATE=42704, DRIVER=3.69.56
THE DESCRIBE STATEMENT DOES NOT SPECIFY A PREPARED STATEMENT. SQLCODE=-516, SQLSTATE=26501, DRIVER=3.69.56
THE CURSOR SQL_CURLH200C1 IS NOT IN A PREPARED STATE. SQLCODE=-514, SQLSTATE=26501, DRIVER=3.69.56
SQL Error [42704]: SYSCAT.SCHEMATA IS AN UNDEFINED NAME. SQLCODE=-204, SQLSTATE=42704, DRIVER=3.69.56

但是,如果忽略该错误并转到New SQL查询并编写一个简单的

Select * from schema.table

它工作正常,并得到我想要的结果。

考虑到我花到这里的时间,这已经足够了,但是要作为我部门的解决方案部署,我需要能够查看表列表(模式)。

任何帮助都是极好的。

EDIT1:这里的问题是,没有名称为SYSCAT的SCHEMA,也没有名为SCHEMATA的表。

3 个回复

z / OS Db2目录的名称与分布式(Linux Unix Windows,也称为LUW)的Db2所使用的名称不同。 这是您可以查看的Db2 z / OS上的对象列表

似乎您正在使用dBeaver在UI中导航Db2 for z / OS上的对象。 您将需要确保您具有用于z / OS Db2的db2 jcc驱动程序。 看起来您可能正在使用LUW中的一个,因为SYSCAT.SCHEMATA是LUW对象,而不是z / OS对象。

您的其他查询有效,因为您要指定一个已知的表名。 其他查询应该没问题。 问题是dbeaver中的接口正在查找LUW的Db2系统对象,而不是z / OS。 这将继续进行,直到您能够解决驱动程序问题为止。

IBM数据服务器驱动程序还需要服务器端设置。 请查看此信息https://www.ibm.com/support/knowledgecenter/SSEPEK_12.0.0/java/src/tpc/imjcc_jccenablespsandtables.html

在DBeaver中,创建连接时,在连接到DB2 for z / OS时,在Db2下拉菜单下选择“ DB2 z / OS驱动程序”选项。

BTW DBeaver可以与Data Studio进行外壳共享,因此(如果需要)您可以一次安装使用这两种产品。 不能保证他们在所有情况下都能愉快地共享,但是看起来效果不错。

3 Oracle无效的用户名/密码连接错误,但能够在Visual Studio和PL / SQL中运行查询

Visual Studio2010。在同一台计算机上尝试了PL SQL,它起作用了。因此,我应该获得许可。代码如下: 起初,这是因为找不到数据提供者。 我尝试重新连接数据库,测试连接良好,但在进行实际连接时仍然失败,并出现错误。 我遵循以下步骤:“ Visual Studio添加数据 ...

4 即使定义了模式,DB2查询错误SQL0204N

我正在使用pyodbc访问DB2 10.1.0 我有一个名为foobar的登录帐户和一个具有相同名称的架构。 我在架构下有一个名为users的表。 当我以foobar登录时,可以从命令行成功运行以下查询: 我有一个用于连接数据库的小型Python脚本。 脚本是: ...

5 DB2 SQL错误:SQLCODE = -204,SQLSTATE = 42704

我在DB2中创建了名为“ TestDB ”的本地数据库,然后创建了名为“ TestTable ”的表。 我发现该表放在模式名称下面是“ yasmin ”。 我试图使用JDBC连接到DB2数据库但我得到了这个例外 我在互联网上尝试了很多解决方案,就像设置架构一样,但遗憾的是不行。 ...

7 如何在DB2中编写传递SQL连接?

我想要类似以下的内容。 我无法以某种方式实现此功能。 实际上,以上查询是假设将A与NEWTBL联接在一起 ,但我将其与B 联接 ,而B已与A联接。 对于我的结果,我希望它们完全来自NEWTBL和B的加入。 我不知道如何获得期望的结果? ...

8 如何在ibm_cloud上的db2中编写SQL查询

我有一个名为PEOPLEINFO的表,该表具有以下列: 当我在ibm_cloud的Db2上运行sql查询以使用查询获取所有StudentName : 我收到以下错误: “ STUDENTNAME”在使用上下文中无效。SQLCODE = -206,> SQLSTAT ...

9 在db2数据库中编写SQL查询

我是DB2 / AS400的新手。 我知道写sql查询以在数据库中进行插入/更新,但不确定如何在DB2 / AS400中执行相同的操作。任何机构都可以指导我如何在db2数据库中编写sql插入/存储过程查询 ...

10 UDB和LUW的DB2目录表

我可以在db2 udb(iseries)和db2(适用于Linux,Unix和Windows)之间使用一组通用的目录表吗? 当前,ruby续集gem使用一种名为syscat的模式,该模式在db2 udb上不存在。 我试图在ibm文档中找到它们之间的一些共性,但似乎无法找出要使用的最佳 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM