9

我在使用 DB2 时遇到问题。我刚刚将 db2 安装为 db2admin 并使用密码。当我尝试连接到数据库时,它是成功的,并且在运行任何简单的选择查询时都会给我以下错误:-

DB2 SQL 错误:SQLCODE=-204,SQLSTATE=42704,SQLERRMC=DB2ADMIN.LOGIN,驱动程序=3.57.82

我有一个名为 onp 的数据库和一个名为“login”的表,其中有一个名为“login”的表,其中包含两个字段用户名和密码。

查询我正在运行

  1. 从登录中选择 *;给我错误

DB2 SQL 错误:SQLCODE=-204,SQLSTATE=42704,SQLERRMC=DB2ADMIN.LOGIN,驱动程序=3.57.82

  1. 从 system.login 中选择 *;给我错误:-(//系统是模式名称)

DB2 SQL 错误:SQLCODE=-551,SQLSTATE=42501,SQLERRMC=DB2ADMIN;SELECT;SYSTEM.LOGIN,驱动程序=3.57.82

我已经尝试了网络上的所有资源并且完全用尽了。请帮我

4

4 回答 4

12

我对 DB2 不太了解,但是查找错误代码...

第一个错误是因为您没有指定架构,所以它找不到登录表。

SQLCODE -204 对象未定义到 DB2

DB2 显然要求您指定模式名称,否则它会在与您的登录用户同名的模式中查找。

您必须使用SET SCHEMA或完全限定表名。

第二个错误是因为您没有执行该选择的权限:

SQLCODE -551,错误:没有对对象执行操作的特权

我不确定为什么 db2admin 用户无法从此表中进行选择...

资源:
DB2 SQLCODE 列表

于 2009-10-19T13:44:26.490 回答
6

发生 SQL CODE 551 是因为连接用户没有执行操作的权限。

转到控制中心 - 转到用户组和对象并选择 DB2ADMIN(假设此用户是连接到 DB2 的用户)

在此处输入图像描述

选中所有复选框,如下所示

在此处输入图像描述

向用户授予架构访问权限 在此处输入图像描述

向用户授予表访问权限 在此处输入图像描述

于 2013-03-07T04:11:34.067 回答
2

我遇到了同样的问题,我通过在我的实体中添加 Schema 来解决它:

@Entity
@Table(name="MyTable", schema="MySchemaName")
public class MyClass implements Serializable {
...
}
于 2013-08-19T14:53:33.903 回答
1

您还可以将问题解决为:

只需向您连接到 DB2 的用户授予适当的权限。

于 2012-04-23T12:50:43.223 回答