2
        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 文件?

4

3 回答 3

2

如果您想使用以下代码:

new COM("ADODB.Connection") 

您需要在 PHP 中启用“COM 支持”,例如使用 com_dotnet 扩展 (php_com_dotnet.dll)如何安装 COM 扩展

于 2014-07-23T10:40:30.840 回答
1

您似乎包含了 PHP adodb 库,但实际上并没有使用它——而是试图实例化一个(微软)ADO COM 对象。

如果您没有安装 ADO/使用 PHP 工作,您可以尝试使用 ODBC DSN-less 连接,例如:

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上的其他连接示例

于 2008-10-24T15:42:56.547 回答
0

最可能的原因是服务器上未正确安装 ADO。尝试运行最新版本的 MDAC 并确保其安装正确,然后再次尝试。使用更多信息更新您的问题以获取更多详细信息。我假设您在 Windows Server 上?

于 2008-10-23T20:11:18.127 回答