我正在尝试连接到外部数据库(不是我的本地主机数据库)。
我的登录详细信息是(当然包括详细信息)。我使用这些登录详细信息来使用oracle的sql开发人员成功登录。
Username: COOLDB123
Password: ThisIsADB123
Hostname: oracle.mywebsite.com
Port: 1521
Service name (NOT SID, I don't use a SID): pdb.oracle.mywebsite.com
login-script.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
代替服务名称。但是,我不确定服务名称的语法。
答案 0 :(得分:0)
要添加服务名称,我必须将$db
更改为:
$db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle.mywebsite.com)(PORT = 1521)))(CONNECT_DATA=(SERVICE_NAME=pdb.oracle.mywebsite.com)))" ;