在安装有,DB2 9.1版本的Windows Server 2008 上面,使用默认的安装方式导致无法创建数据库,相关的错误提示:
"SQL3012C 发生系统错误(原因码= "")。无法处理后续的SQL 语句。SQLSTATE=58005”。
通过分析日志"%programfiles%\IBM\SQLLIB\DB2\db2diag.log"(默认情况下会在这个地方),发现很多访问被阻止(Access Defined),此时会看到一些错误返回与提示:
RETCODE : ZRC=0x840F0001=-2079391743=SQLO_ACCD "Access Denied"
DIA8701C Access denied for resource "", operating system return code
was "".
这类的错误提示,上面的代码原因为空可能就是源自于此错误地翻译显示。
问题如何解决,搜索相应的关键字,SQLSTATE=58005、Access Denied在IBM的知识库里面找到了相关的信息,本例的解决方法就是源自于这个帮助。
连接如下:http://www-01.ibm.com/support/docview.wss?uid=swg21442542 虽然标题中的SQL?????内容并不一样,但是查看了一下环境属于的范围,还是很顺利的解决了。
以下内容是IBM的原始文档信息:
Environment
Windows 2008 Server
DB2 9.1 ESE
Diagnosing the problem
View the db2diag.log file for the errors above.
Resolving the problem
Re-installation of DB2 is required. During the re-installation de-select "enable operating system security for DB2 objects"
After making this change you will be able to create the required databases for Sametime Advanced.
NOTE: Sametime Advanced 8.0.1 does not yet support DB2 9.5 which does not have this problem with Windows 2008 server security.
虽然我并没有安装Sametime Advanced,但是此原因确实是因为相关的安全权限而受影响的。
Figure 1解决方法就添加删除程序中对DB2 9.1 ESE 修复安装,并取消对“启用操作系统安全性”的勾选
总结:
遇见一些奇怪的问题还是要多多利用官方资源,同时一些默认的复选和操作可能并不适应所有的操作系统,需要多多留意软件安装版本,系统环境,以及日志信息。
-=EOB=-