【发布时间】:2020-04-10 18:35:55
【问题描述】:
在 ibm cloud 上创建了我的第一个 ibm db2 数据库并将其与 django 连接。使用以下设置:
'default':{
'ENGINE' : 'ibm_db_django',
'NAME' : 'BLUDB',
'USER' : 'xxxxxxxxxxxxxxxx',
'PASSWORD' : 'xxxxxxxxxxxxxxxx',
'HOST' : 'dashdb-xxxxxxx-sbox-xxxxxxxxxx.services.eu-gb.bluemix.net',
'PORT' : '50000',
'PCONNECT' : True,
}
连接工作得很好,因为我可以为我添加的自定义 django 应用程序运行迁移。即使是会话和内容类型。
运行身份验证和管理员迁移时出现问题。 我收到以下错误消息:
Exception('SQLNumResultCols failed: [IBM][CLI Driver][DB2/LINUXX8664] SQL0551N The statement failed because the authorization ID does not have the required authorization or privilege to perform the operation. Authorization ID: "XXXXXXXX". Operation: "SELECT". Object: "SYSIBMADM.ADMINTABINFO". SQLSTATE=42501 SQLCODE=-551'
我了解我没有权限对 SYSIBMADM.ADMINTABINFO 执行选择操作。
我的问题是如何给自己(管理员帐户)权限,以便我的 python manage.py migrate 不会抛出错误。
或者我在 django 应用程序本身中做错了什么。 (初始迁移)
【问题讨论】:
-
您使用的是 Db2-on-cloud LITE 计划吗?
-
是的。我正在使用免费帐户
-
在 LITE 计划中,您目前无法访问
sysibmadm.admintabinfo。要解决此问题,请使用本地数据库(例如使用 Db2 社区版),并在那里创建元数据表。然后您可以在 bludb 云数据库中手动创建这些元数据表,或者只是继续在本地使用 Db2 社区版进行所有开发。 -
我正在做同样的事情,目前正在下载 ibm cloud db 2 C 版。我在 stackoverflow 的某个地方读到它,免费帐户 django 迁移不运行。但我不确定特权的事情