PHP连接字符串到远程数据库ORA-12154

问题描述

我有2台计算机:
PC 1 -这是我安装XAMPP的位置。
PC 2 -这是我的数据库Oracle 9i的安装位置。

我正在使用PHP 7,并且已经添加 PDO_OCI 扩展名。

这是我的连接字符串:

define("DB_HOST","192.168.10.30:1521");
define("DB_NAME","BACKEND");
define("DB_USER","sa");
define("DB_PASS","sa_backend");

new PDO('oci:dbname='. DB_NAME . ';host='. DB_HOST .';',DB_USER,DB_PASS);

使用此代码时,出现此错误

警告:未捕获的PDOException:sqlSTATE [42S02]:pdo_oci_handle_factory:ORA-12154:TNS:无法解析指定的连接标识符(ext \ pdo_oci \ oci_driver.c:709)

更新1

$server         = "192.168.10.30";
$db_username    = "sa";
$db_password    = "sa_backend";
$service_name   = "backend";
$sid            = "backend";
$port           = 1521;
$dbtns          = "(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = $server)(PORT = $port)) (CONNECT_DATA = (SERVICE_NAME = $service_name) (SERVER = SHARED) (SID = $sid)))";

$this->dbh = new PDO("oci:dbname=" . $dbtns . ";charset=utf8",$db_username,$db_password,array(
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,PDO::ATTR_EMULATE_PREPARES => false,PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC));

我使用了在其他stackoverflow链接上找到的这段代码。现在我收到了这个错误

sqlSTATE [HY000]:pdo_oci_handle_factory:ORA-12520:TNS:侦听器找不到请求的服务器类型的可用处理程序(ext \ pdo_oci \ oci_driver.c:728)

我尝试将过程更新为200,甚至更新为400,但是错误仍然相同。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)