Неустранимая ошибка: класс 'COM' не найден при попытке использовать ADODB - PullRequest
2 голосов
/ 23 октября 2008
        include('adodb5/adodb.inc.php');

        $myServer = "localhost";
        $myUser = "root";
        $myPass = "root";
        $myDB = "database";

        //create an instance of the  ADO connection object
        $conn = new COM("ADODB.Connection") or die("Cannot start ADO");

        //define connection string, specify database driver
        $connStr = "PROVIDER=SQLOLEDB;SERVER=".$myServer.";UID=".$myUser.";PWD=".$myPass.";DATABASE=".$myDB;
        $conn->open($connStr); //Open the connection to the database 

Это первый раз, когда я сталкиваюсь с библиотекой ADODB, и она предположительно поможет мне переключиться с MySQL на Microsoft SQL Server. Кто-нибудь знает, почему я получаю эту ошибку или есть более простой способ, который не включает в себя игру с файлом php.ini?

Ответы [ 3 ]

2 голосов
/ 23 июля 2014

Если вы хотите использовать следующий код:

new COM("ADODB.Connection") 

вам нужно включить «поддержку COM» в PHP, например, используя расширение com_dotnet (php_com_dotnet.dll) Как установить расширение COM

1 голос
/ 24 октября 2008

Кажется, вы включили библиотеку PHP adodb, но на самом деле не используете ее - вместо этого пытаетесь создать экземпляр (microsoft) объекта ADO COM.

Если у вас не установлен / не работает ADO из PHP, вы можете попробовать использовать ODBC DSN-менее соединение, например:

include('adodb5/adodb.inc.php');

$myServer = "localhost";
$myUser = "root";
$myPass = "root";
$myDB = "database";


$db = ADONewConnection('odbc_mssql');
$dsn = "Driver={SQL Server};Server={{$myServer}};Database={{$myDB}};";
$db->Connect($dsn,$myUser,$myPass) or die($db->ErrorMsg());         

if (!$rs = $db->Execute('select * from table')) die($db->ErrorMsg());

while (!$rs->EOF) {
    print_r($rs->fields);
    $rs->MoveNext();
}

$rs->Close();   

Также см. Другие примеры подключения на http://phplens.com/adodb/code.initialization.html#connect_ex

0 голосов
/ 24 октября 2008

Наиболее вероятная причина заключается в том, что ADO неправильно установлен на сервере. Попробуйте запустить последнюю версию MDAC и убедитесь, что она установлена ​​правильно, затем попробуйте agin. Обновите свой вопрос с более подробной информацией для более подробной информации. Я полагаю, вы находитесь на Windows Server?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...