【发布时间】:2020-01-06 08:04:46
【问题描述】:
我必须在我的教职员工的课程中使用 DB2。我在 Windows 10 上,安装了 DB2 express C,安装了 Data Studio。在安装过程中,我使用“db2admin”作为用户名,使用“admin”作为密码。然后我运行了我们教员提供的一系列 SQL 脚本来生成我们需要的所有表并填充它们。这显然也有效。
这就是问题所在。所有的表都是在那个模式“aleksa”下制作的,它恰好是我的计算机用户名。
从命令行我可以做任何事情。数据工作室是问题所在。连接到数据库时,我使用上面提到的 db2admin 和 admin 作为凭据。起初,当我尝试运行任何查询时,我不断收到一些授权错误。然后我用谷歌搜索了一段时间,发现我需要授予对这些表的 db2admin 访问权限(为什么管理员帐户需要授予任何东西比我好)。所以我通过从命令行连接到数据库来做到这一点(顺便说一句,命令行从不要求我输入任何凭据),并运行一系列
grant select on <table_name> to user db2admin
我不知道我是否应该这样做,但为了以防万一,我也跑了
grant all on <table_name> to user db2admin
所有这些,当然,对于我拥有的每张桌子。
而且他们每个人都成功地运行了。这样做之后,我在运行查询时不再在 Data Studio 中收到授权错误。但我也没有得到任何东西。
重复一遍,从命令行运行查询可以正常工作,这就是为什么我知道数据库正常并且其中实际上有数据的原因。这也是为什么我知道从 Data Studio 而不是命令行运行的相同查询的输出不应该只是查询执行时间并且在“SQL 结果”窗口中没有结果。就我而言,我尝试过的查询只是“从 aleksa.table_name 中选择 *”。它们在命令行中生成一堆行,但在 Data Studio 中没有。
那么,有什么想法吗?
【问题讨论】:
标签: db2