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") 

com_dotnet 拡張機能 (php_com_dotnet.dll) を使用するなど、PHP で「COM サポート」を有効にする必要があります。COM 拡張機能のインストール方法

于 2014-07-23T10:40:30.840 に答える
1

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で他の接続例も参照してください。

于 2008-10-24T15:42:56.547 に答える
0

最も考えられる原因は、ADO がサーバーに正しくインストールされていないことです。最新バージョンの MDAC を実行してみて、正しくインストールされていることを確認してから、agin を試してください。詳細については、質問を更新してください。あなたはWindows Serverを使用していると思いますか?

于 2008-10-23T20:11:18.127 に答える