gpt4 book ai didi

php - 如何使用服务名称连接到 oracle 数据库?

转载 作者:搜寻专家 更新时间:2023-10-31 21:47:27 25 4
gpt4 key购买 nike

我正在尝试连接到外部数据库(不是我的本地数据库)。

我的登录信息是(当然是虚构的信息)。我使用这些登录详细信息使用 oracle 的 sql developer 成功登录。

Username: COOLDB123
Password: ThisIsADB123
Hostname: oracle.mywebsite.com
Port: 1521
Service name (NOT SID, I don't use a SID): pdb.oracle.mywebsite.com

登录脚本.php

<?php
$db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle.mywebsite.com)(PORT = 1521)))(CONNECT_DATA=(SID=pdb.oracle.mywebsite.com)))" ;

if($c = OCILogon("COOLDB123", "ThisIsADB123", $db))
{
echo "Successfully connected to Oracle.\n";
OCILogoff($c);
}
else
{
$err = OCIError();
echo "Connection failed.";
}
?>

但是,我得到了错误:

Warning: ocilogon(): ORA-01017: invalid username/password; logon denied in C:\xampp\htdocs\test.php on line 4
Connection failed.

我确实知道详细信息是正确的,因为我可以使用 Oracle 的 SQL 开发人员登录到我的数据库。我究竟做错了什么?我怀疑在我的 $db 部分中,我使用了 SID 而不是服务名称。但是,我不确定服务名称的语法。

最佳答案

要添加服务名称,我必须将 $db 更改为:

$db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle.mywebsite.com)(PORT = 1521)))(CONNECT_DATA=(SERVICE_NAME=pdb.oracle.mywebsite.com)))" ;

关于php - 如何使用服务名称连接到 oracle 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55437328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com