【问题标题】:How to config ADODB to connect Oracle with Service Name如何配置 ADODB 以使用服务名称连接 Oracle
【发布时间】:2014-07-21 09:50:40
【问题描述】:

我的 ADODB 使用服务名称连接到 Oracle 时遇到问题。
这是我与 Oracle 服务器的连接

这是我的代码

$dbhostname     = "10.0.4.51";
$dbusername     = "user1";
$dbpassword     = "user1";
$port           = "1521";
$db   = ADONewConnection('oci8');
$cstr = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$dbhostname)(PORT=$port))
        (CONNECT_DATA=(SID=$tnsname)))";
$db->Connect($cstr, $dbusername, $dbpassword) or die('db not available');

但由于此连接,我仍然无法对查询执行任何操作
如果有任何建议,我非常感谢你:)

【问题讨论】:

    标签: php oracle connection adodb


    【解决方案1】:

    我不是 PHP 专家,但我有两个想法。

    1. 尝试使用 Oracle 的 EZconnect 连接字符串,让 Oracle 解决所有问题。在您的情况下,它将是:

      10.0.4.51:1521/devoltp

    2. 我注意到您的连接对话框使用了服务名称,但在您的连接字符串中您指定了 SID。将$cstr 中的“SID”更改为“SERVICE NAME”

    EZ Connect Examples

    【讨论】:

      【解决方案2】:

      试试这个简单的类

      class AdoConnection {
      
          public $dbh;
      
          public function __construct() {
              include_once '../adoconnection/adodb5/adodb.inc.php'; // include your adodb.inc.php file
      
              $server = "127.0.0.1";
              $user   = "USER/SCHEMA/Database";
              $pwd    = "password";
              $db     = "SID OR Service_Name";
      
              $this->dbh = NewADOConnection('oci8');
              $this->dbh->Connect(FALSE, $user, $pwd, '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ' . $server. ')(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = ' . $db . ') (SID = ' . $db . ')))');
          }
      
          public function select($sql) {
              $result = $this->dbh->Execute($sql);
              $result = $result->GetRows();
              return $result;
          }
      
          public function insert($sql) {
              $result = $this->dbh->Execute($sql);
              return $result;
          }
      }
      
      $dbh = new AdoConnection();
      
      $dbh->select($sql);
      $dbh->insert($sql);
      

      只需保持您的 error_reporting 和 display_errors 开启即可查看错误。

      【讨论】:

        猜你喜欢
        • 2013-10-15
        • 2019-08-21
        • 2011-06-17
        • 2017-01-26
        • 2019-12-07
        • 2012-11-21
        相关资源
        最近更新 更多