Php 尝试将adodb连接到Oracle时出错

Php 尝试将adodb连接到Oracle时出错,php,oracle,oracle10g,adodb,ora-12541,Php,Oracle,Oracle10g,Adodb,Ora 12541,我已经安装了WAMP服务器 尝试连接到Oracle时,会出现以下错误: ORA-12541:TNS:没有侦听器 有人知道如何解决这个问题吗?您的侦听器没有启动(发出命令lsnrctl start),或者您的tnsnames.ora是错误的 您的侦听器未启动(发出命令lsnrctl start),或者您的tnsnames.ora错误 在php.ini文件中进行更改 通过删除,启用oci驱动程序取消注释;分号 检查是否有正确的dll文件 然后 试试这个简单的类 class AdoConnection

我已经安装了WAMP服务器

尝试连接到Oracle时,会出现以下错误:

ORA-12541:TNS:没有侦听器


有人知道如何解决这个问题吗?

您的侦听器没有启动(发出命令
lsnrctl start
),或者您的tnsnames.ora是错误的

您的侦听器未启动(发出命令
lsnrctl start
),或者您的tnsnames.ora错误

在php.ini文件中进行更改 通过删除,启用oci驱动程序取消注释;分号 检查是否有正确的dll文件 然后

试试这个简单的类

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);
只需保留错误报告并显示错误即可查看错误

ini_set('display_errors',1);
error_reporting(E_ALL);

在php.ini文件中进行更改 通过删除,启用oci驱动程序取消注释;分号 检查是否有正确的dll文件 然后

试试这个简单的类

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);
只需保留错误报告并显示错误即可查看错误

ini_set('display_errors',1);
error_reporting(E_ALL);

您的侦听器未启动(
lsnrctl start
)或者您的tnsnames.ora错误。@Klaus-您应该将此作为答案发布您的侦听器未启动(
lsnrctl start
)或者您的tnsnames.ora错误。@Klaus-您应该将此作为答案发布