与java的Db2连接问题

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

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. 从system.login中选择*; 给我错误: – (//系统是架构名称)

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

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

我不太了解DB2,但查找错误代码……

第一个错误是因为您没有指定架构,因此无法找到登录表。

SQLCODE -204对象未定义到DB2

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

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

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

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

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

资源:
DB2 SQLCODE列表

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

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

在此处输入图像描述

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

在此处输入图像描述

授予模式对用户的访问权限 在此处输入图像描述

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

您还可以将问题解决为:

只需向与DB2连接的用户授予适当的权限即可。

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

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