java的db2连接问题

java的db2连接问题

问题描述:

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

DB2 SQL错误:SQLCODE = -204,SQLSTATE = 42704,SQLERRMC = DB2ADMIN.LOGIN,DRIVER = 3.57.82

我有一个名为onp的数据库和一个名为'login'的表,其中有一个名为'login'的表有两个字段username和password。

查询我从登录运行

  1. 选择*;让我错误

DB2 SQL错误:SQLCODE = -204,SQLSTATE = 42704,则sqlerrmc = DB2ADMIN.LOGIN,DRIVER = 3.57.82

  1. 选择从系统* 。登录;给我的错误: - (//系统是架构名称)
  2. DB2 SQL错误:SQLCODE = -551,SQLSTATE = 42501,则sq​​lerrmc = DB2ADMIN;选择; SYSTEM.LOGIN,DRIVER = 3.57.82

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

开始=>

我不知道了很多关于DB2,但查找错误代码......

第一个错误是因为你没有指定模式,所以它无法找到登录表。

SQLCODE -204 Object not defined to DB2

DB2显然要求您指定模式名称,或者它在与您的登录用户具有相同名称的架构中查找。

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

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

SQLCODE -551, Error: DOES NOT HAVE THE PRIVILEGE TO PERFORM OPERATION ON OBJECT

我不知道为什么DB2ADMIN用户将无法从该表中选择...

资源:
List of DB2 SQLCODEs

+0

感谢我得到它在你的帮助解决。 – RishiPatel 2009-11-01 06:34:22

+0

-204也会指出完全限定的表名中的指定模式不正确或不存在。 – ammianus 2013-01-02 21:24:08

+0

如果你有一个命令行,下面的代码有助于'db2? SQLnnnn',其中nnnn是4位数字的sql代码(如果需要,在左边延伸0)。这将打印错误的解释。 – Ingo 2013-07-16 13:48:29

您也可以解决问题为:

刚为连接到DB2的用户授予适当的权限。

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

转到控制中心 - 进入用户组和对象,并选择DB2ADMIN(假设该用户是一个用于连接到DB2)

enter image description here

检查所有的复选框为以下

enter image description here

格兰特架构访问用户 enter image description here

授权表访问用户 enter image description here

我有同样的问题,我解决它在我的实体添加架构:

@Entity 
@Table(name="MyTable", schema="MySchemaName") 
public class MyClass implements Serializable { 
... 
}