繁体   English   中英

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

[英]How do I connect to oracle database using a service name?

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

我的登录详细信息(当然是详细信息)。 我使用这些登录详细信息使用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 

登录-的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而不是服务名称。 但是,我不确定服务名称的语法。

要添加服务名称,我必须将$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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM