大约一年半之后,我终于可以通过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的表。

#1楼 票数:2 已采纳

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。 这将继续进行,直到您能够解决驱动程序问题为止。

#2楼 票数:1

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

#3楼 票数:0

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

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

  ask by Rahul P translate from so

未解决问题?本站智能推荐:

1回复

如何在 DBeaver/DBVisualizer 中编写 DB2 pl/sql 脚本

如何在 DBeaver/DBVisualizer 中编写简单的 DB2 pl/sql 脚本? 我基本上是在尝试创建动态 SQL(在循环中)然后运行它。 因此,为此我将需要诸如 SQL 字符串、构建等变量,然后运行动态创建的脚本。 这是 SQL Server 中的示例。 我想为 DB2 写这样的东西
1回复

在没有PureQuery的情况下对DB2执行静态SQL查询

我想在新应用程序中使用JPA而不是JDBC。 我正在严格使用JPA实体管理器的命名查询和基本CRUD方法,它允许我(在Hibernate或任何其他JPA实现的帮助下)提取将在数据库上执行的所有SQL本机查询。 通过这个静态查询列表,我了解到我可以构建一个DB2包,它是我请求的所有执行计划。
2回复

DB2 错误:SQL10007N 无法检索消息“-1390”。 原因代码:“3”

尝试连接到 db2 db 时出现以下错误: 但是,从DBeaver连接到它时我没有遇到任何问题。 错误的原因可能是什么?
2回复

DB2版本的SQL差异

我们正在开发使用ODBC drivers为Oracle和SQL Server生成和执行SQL查询的ODBC drivers 。 我们正在研究扩展到DB2的可能性,但我读到有几个版本可用。 DB2 for LUW ,for iSeries和z / OS。 是否有任何差异SQL的SQL/P
2回复

如何在DB2中执行复合sql

我正面临着尝试理解DB2 sql的挑战(注意,我来自MS SQL Server):P。 这是一个场景,我有2个表,一个有ID和其他细节,第二个有很多其他信息对应每个ID。 来自SQL Server,我习惯于运行以下脚本: 这一切都运行良好,给我一个ID对应的ID1,可以进一
1回复

从oracle sql到db2 sql

我必须更改Oracle SQL DDL才能在zOS / DB2中使用它。 现在我陷入了这一部分: 我从未在oracle中使用过“ check”,在DB2中也从未使用过。 有人可以帮我吗? 谢谢。
1回复

从H2(和DB2)中的三个其他连接表更新一个表中的值

我正在努力实现H2中所描述的内容: 使用内部联接更新? 更新tlegacy lca set lca.pr_dato = ca.calc_holdings_date ...来自tca ca inner join tdd dd on ... 我得到错误:在H2中找不到列“CA.
1回复

在JDBC URL中为Z / OS上的db2设置默认表空间?

是否可以通过将参数传递给JDBC URL来强制所有create table语句使用特定的database.tablespace? 例如,代替如下手动指定 我想在连接URL中指定“ database.tablespace”并执行