【问题标题】:Fatal error: Class 'COM' not found whilst trying to use ADODB致命错误:尝试使用 ADODB 时未找到“COM”类
【发布时间】:2010-09-18 21:01:00
【问题描述】:
        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 文件?

【问题讨论】:

    标签: php adodb fatal-error


    【解决方案1】:

    如果你想使用以下代码:

    new COM("ADODB.Connection") 
    

    您需要在 PHP 中启用“COM 支持”,例如使用 com_dotnet 扩展 (php_com_dotnet.dll)How to install COM extension

    【讨论】:

      【解决方案2】:

      您似乎包含了 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 上的其他连接示例

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2013-08-16
          • 2012-07-27
          • 1970-01-01
          • 2019-07-05
          • 1970-01-01
          • 2017-11-14
          • 2014-08-11
          • 2017-07-27
          • 2012-10-14
          相关资源
          最近更新 更多