微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。