[英]How do I connect to oracle database using a service name?
I am trying to connect to an external database (not my localhost database). 我正在尝试连接到外部数据库(而不是我的localhost数据库)。
My login details are (made up details of course). 我的登录详细信息(当然是详细信息)。 I use these login details to login successfully using oracle's sql developer. 我使用这些登录详细信息使用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 登录-的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.";
}
?>
However, I get the error: 但是,我收到错误:
Warning: ocilogon(): ORA-01017: invalid username/password; logon denied in C:\xampp\htdocs\test.php on line 4
Connection failed.
I know for a fact the details are correct because I can log into my database using Oracle's SQL developer. 我知道细节是正确的,因为我可以使用Oracle的SQL开发人员登录我的数据库。 What am I doing wrong? 我究竟做错了什么? I am suspecting that in my $db
part I am putting SID
instead of the service name. 我怀疑在我的$db
部分中我使用SID
而不是服务名称。 However, I am unsure of the syntax for the service name. 但是,我不确定服务名称的语法。
要添加服务名称,我必须将$db
更改为:
$db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle.mywebsite.com)(PORT = 1521)))(CONNECT_DATA=(SERVICE_NAME=pdb.oracle.mywebsite.com)))" ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.