当前位置: 首页 > 知识库问答 >
问题:

Php试图通过PDO连接到Oracle 11g-未知错误

郁宾鸿
2023-03-14

我正在尝试通过PDO连接到php中的Oracle 11g Express Edition数据库。我安装了xampp,我还有一个(据推测)正常工作的pdo_oci扩展,它也出现在phpinfo()中。我的数据库工作正常,我可以通过sql控制台和/或sql开发人员连接到它。我已经启用了扩展php_pdo_oci。动态链接库

我的代码是:

$db_username = "system";
$db_password = "mypass";
$db = "oci:dbname=xe";
$conn = new PDO($db,$db_username,$db_password);

我得到以下错误:

致命错误:未捕获异常“PDOException”,消息为“SQLSTATE[]:pdo_oci_handle_factory:

所以这真的什么都没说。

如果我尝试通过oci_connect连接并启用扩展php_oci8_11g。dll(并禁用pdo扩展),然后使用以下代码:

$conn = oci_connect('system', 'mypass', 'localhost/XE');

我得到这个错误:

警告:oci_connect()[函数.oci connect]:OCIEnvNlsCreate()失败。您的系统有问题-请检查路径是否包含以下目录中的Oracle即时客户端库。。。

那么什么是Oracle即时客户端?我只下载了Oracle Express Edition,添加了Oracle_HOME和LD_LIBRARY_PATH作为环境变量,还添加了路径到路径。我遗漏了什么吗?

先谢谢你

共有1个答案

艾翼
2023-03-14

好吧,我想我已经修好了,所以如果其他人需要它:

我下载了Oracle即时客户端。在这之后,它还在抱怨我应该把它放在小路上,即使它已经在那里了。

所以我复制了即时客户端中的所有文件(可能你不需要所有,但无论如何)到apache/bin dir中,瞧,它起作用了。

 类似资料:
  • 问题内容: 当我执行此代码时: 它说我有可用的驱动程序。 但是,当我尝试像这样使用它时: 它什么也没做-没有错误,也根本不起作用。它甚至不会执行到该行! 如何通过PDO和ODBC将PHP连接到此MSSQL数据库? 问题答案: 您需要设置几个配置文件。,而(这些位置是有效的Ubuntu 12.04,并可能是正确的大多数* nixes)。 您需要安装和(不确定CentOS上的软件包名称是什么)。在Ub

  • 我想建立一个帖子和评论系统。 帖子运行良好,但评论无效 PHP错误:致命错误:C:\xampp\htdocs\index.php:133堆栈跟踪中带有无效数据源名称的未捕获异常“PDOExc0019”:#0 C:\xampp\htdocs\index.php(133): PDO- 这是表的元素。请帮忙。

  • 问题内容: 我正在尝试使用以下代码建立新的PDO连接。 我不确定要使用什么驱动程序?或如何安装它们。我可以使用PHP中的函数进行完美连接,但我想改用PDO库。 我的mssql设置是: 问题答案: PDO mssql驱动程序不再可用,请使用(在php Windows下)或(在php linux下) http://msdn.microsoft.com/zh- CN/sqlserver/ff657782

  • PS G:\开机 错误:ER_BAD_DB_错误:握手时未知数据库“启动”。顺序_握手时出现错误(G:\boot\node\u modules\mysql\lib\protocol\sequences\Sequence.js:47:14)。协议中的错误包(G:\boot\node\u modules\mysql\lib\protocol\sequences\Handshake.js:123:18)

  • 问题内容: 我正在为我的一个应用编写安装程序,我希望能够测试一些默认数据库设置。 使用PDO可以测试有效和无效的数据库连接吗? 我有以下代码: 我遇到的问题是该脚本尝试连接,直到60秒的脚本执行时间用完,而不是说它无法连接到数据库。 谢谢 问题答案: 您需要在连接数据库时设置错误模式: 有关更多信息,请参见以下链接: 将MySQL与PDO结合使用 错误和错误处理

  • 本文向大家介绍PHP PDO:连接到MySQL / MariaDB服务器,包括了PHP PDO:连接到MySQL / MariaDB服务器的使用技巧和注意事项,需要的朋友参考一下 示例 有两种方法可以连接到MySQL / MariaDB服务器,具体取决于您的基础结构。 标准(TCP / IP)连接 由于PDO被设计为与旧的MySQL服务器版本(不支持预准备语句)兼容,因此您必须显式禁用该仿真。否则