首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重启后,IBM DB2无法从PHP访问数据库

重启后,IBM DB2无法从PHP访问数据库
EN

Stack Overflow用户
提问于 2015-10-27 01:13:20
回答 3查看 1.3K关注 0票数 1

系统: Windows 8

我一直在为学校做一个使用IBM、Xampp和DB2访问数据库的项目。

一切都很完美。然后有一天我重新启动了我的电脑。

IBM数据库管理器在启动时返回以下错误:

SQL5005C操作失败,因为数据库管理器无法访问数据库管理器配置文件或数据库配置文件.

我试过运行db2stop和db2start。

我仍然能够通过db2命令行终端访问我的数据库,好像什么都没有错一样。

但是,当我试图从PHP访问数据库时,我现在从PHP文件中得到以下错误:

58031 IBM SQL1031N数据库目录在指定的文件系统上找不到。SQLSTATE=58031 SQLCODE=-1031

EN

回答 3

Stack Overflow用户

发布于 2015-10-27 01:51:33

您可能需要再次检查db2diag.log,以找到SQL5005C的原因。在更好的情况下,访问配置文件时出现了临时问题。但是,在更糟糕的情况下,DBM或DB配置文件中的一个可能已损坏。对于损坏的DBM,我通常使用db2idrop/db2icrt。损坏的DB可以由RESET DB CFG“修复”(如“重置”中的“重置”,您将丢失所有自定义更改)。

随后的SQL1031N告诉我,您试图访问的数据库已未编目。这也很奇怪,特别是因为您告诉我您可以从DB2命令行访问数据库。您可能希望从命令行执行LIST DB DIRECTORY以显示数据库条目,还可以使用LIST NODE DIRECTORY查看数据库驻留在哪些节点上。

票数 0
EN

Stack Overflow用户

发布于 2017-11-16 04:18:18

可能的原因是您丢失了硬盘上的数据库文件。

  • 使用命令检查。 db2diag -g db=database name > log.txt
  • 打开log.txt,您将看到如下消息。在本例中,我丢失了一些db2配置文件。

  • 创建缺少的文件夹并从备份复制db2配置文件

  • 使用备份文件还原数据库。
票数 0
EN

Stack Overflow用户

发布于 2018-06-06 09:06:19

当您尝试从编程语言( python或其他语言)与DB2交互时,可以使用一个库(例如https://pypi.org/project/ibm_db/ for python)与db2客户端应用程序交互来连接/查询您的DB。

如果工作站上安装了多个installed客户端包,则可能无法使用正确的包访问DB。

因此,您必须验证PHP用于完成此工作的客户端。为此,请执行以下操作:

  1. 标识包含db2客户端实用程序的./clidriver/bin文件夹(在我的示例中是在db2中)
  2. 运行命令db2cli validate,它将显示您正在使用的客户端
  3. 如果当前工作站上的所有IBMDBCL_客户端包列表中有多个条目:并且不使用_IBMDBCL__客户端之一,则必须双击db2swtch.exe (以管理员身份运行)并按照可视化说明切换到IBMDBCL_项,从而切换客户端
  4. 如果它不能工作,卸载并重新安装您的库(在我的例子中,pip卸载ibm_db和easy_install ibm_db)

您可以在同一台机器上找到更多db2客户端管理的更多信息,这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33358389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档