设置DB2和ibmdatastudio带来的无尽麻烦

设置DB2和ibmdatastudio带来的无尽麻烦,db2,Db2,我必须在我的教员那里使用DB2。我在Windows10上,安装了DB2Express C,安装了DataStudio。在安装过程中,我使用“db2admin”作为用户名,“admin”作为密码。然后,我运行了我们的教员提供的一系列SQL脚本来生成我们需要的所有表并填充它们。这显然也起了作用 问题出在这里。所有表都是在“aleksa”模式下创建的,该模式恰好是我的计算机用户名 从命令行我可以做任何事情都很好。DataStudio就是问题所在。连接到数据库时,我使用上面提到的db2admin和ad

我必须在我的教员那里使用DB2。我在Windows10上,安装了DB2Express C,安装了DataStudio。在安装过程中,我使用“db2admin”作为用户名,“admin”作为密码。然后,我运行了我们的教员提供的一系列SQL脚本来生成我们需要的所有表并填充它们。这显然也起了作用

问题出在这里。所有表都是在“aleksa”模式下创建的,该模式恰好是我的计算机用户名

从命令行我可以做任何事情都很好。DataStudio就是问题所在。连接到数据库时,我使用上面提到的db2admin和admin作为凭据。起初,当我试图运行任何查询时,我总是得到一些授权错误。于是我在谷歌上搜索了一会儿,发现我需要在这些表上授予对db2admin的访问权(为什么管理员帐户需要授予任何东西)。因此,我通过从命令行连接到数据库(顺便说一下,命令行从不要求我输入任何凭据)并运行一系列

grant select on <table_name> to user db2admin
将select on授予用户db2admin
我不知道我是否应该这样做,但为了以防万一,我也跑了

grant all on <table_name> to user db2admin
grant all on给用户db2admin
所有这些,当然,对于我的每一张桌子

他们每个人都成功地运行了。这样做之后,我在运行查询时不再在DataStudio中出现授权错误。但我也没有得到任何东西

重复一次,从命令行运行查询可以很好地工作,这就是为什么我知道数据库很好,并且我实际上在其中有数据。这也是为什么我知道从DataStudio而不是命令行运行的同一个查询的输出不应该只是查询执行时间,并且在“SQL结果”窗口中没有结果。在我的例子中,我尝试的查询只是“从aleksa.table_name中选择*”。它们在命令行中生成一堆行,但在DataStudio中没有


那么,有什么想法吗?

Db2正在按设计工作

您的问题不是关于编程,而是关于管理和操作方面

如果没有Db2的基础教育,您可能会经历“无尽的麻烦”

在使用Db2之前,考虑接受一些Db2教育,或者学习Db2版本的免费在线Db2知识中心,直到您理解了所需的概念

Stakoverflow不能替代教育

如果使用创建对象的相同凭据连接(在DataStudio中),则引用这些对象的查询将不会获得访问错误(默认情况下),并将看到对象中存在的数据

如果不希望架构名称为“aleksa”,而希望架构名称为“db2admin”,则在作为db2admin连接到数据库时再次运行脚本(如果两个架构都不适合,帐户aleksa还可以首先删除aleksa架构中的所有现有对象)

如果您使用不同于创建者的凭据进行连接,则根据脚本所做的操作,您可能会遇到访问错误。我们看不到脚本做了什么,它们可能对表应用了非默认权限,或者使用了角色,或者需要某些组成员身份等。我们也看不到Db2是如何配置的。想必你能看到这样的细节

db2admin帐户不是(默认情况下,在当前版本的Db2中)SECADM,因此db2admin不能访问数据,并且定义为SECADM的帐户能够向其他帐户授予数据访问权限和accessctrl权限

如果查询完全限定对象名(即指定架构和表名),并且这些对象存在,并且连接帐户具有SELECT访问权限,并且对象包含数据,则DataStudio将显示数据(或错误)

有关更多详细信息,请联机研究Db2文档的相关页面


DataStudio与Db2之间没有什么特别之处,只是它涵盖了所有平台上的所有Db2功能。IBM Data Studio是一个java应用程序,许多其他类似的工具对高级Db2功能的介绍较少。

我的问题最初包含了一些关于Db2不是我最喜欢的事实的评论。本课程更侧重于关系数据库本身和基本概念,而不是DB2。这就是为什么这门课程没有教我们任何高级DB2的东西,这就是为什么我不知道任何东西。然而,有人将其删除了。至于问题本身,我没有解决它,而是避免了它。我只是切换到DBeaver而不是datastudio,在那里一切正常,数据库本身没有任何更改。无论如何谢谢你