Ölümcül hata: Class 'COM' ADODB kullanmaya çalışıyor iken bulunamadı

2 Cevap php
		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

Bu benim ADODB kütüphaneye rastlamak etmiş ve sözde beni, Microsoft SQL Server MySQL geçiş yardımcı oluyor ilk kez. Php.ini dosyası ile uğraşırken içermeyen basit bir yolu var ise herkes ben bu hatayı alıyorum neden bilmek ya da var mı?

2 Cevap

En olası neden, ADO doğru sunucuda yüklü olmasıdır. MDAC'NIN son sürümünü çalıştırmayı deneyin ve Ağın deneyin sonra doğru yükleyin sigorta. Daha ayrıntılı bilgi için daha fazla bilgi ile sorunuzu güncelleyin. Ben bir Windows Server varsayıyorum?

Yerine (microsoft) ADO COM nesnesi instanciate çalışıyor - bu PHP adodb kütüphanesi de dahil olmak üzere, ama sonra aslında bunu kullanarak değil gibi görünüyor.

ADO PHP çalışan / yüklü yoksa gibi bir ODBC DSN-less bağlantı kullanarak deneyebilirsiniz:

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();

Ayrıca http://phplens.com/adodb/code.initialization.html#connect_ex diğer bağlantı örneklerini görmek