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文件?
答案 0 :(得分:2)
如果您想使用以下代码:
new COM("ADODB.Connection")
你需要在PHP中启用“COM支持”,例如使用com_dotnet扩展名(php_com_dotnet.dll)How to install COM extension
答案 1 :(得分:1)
您似乎正在包含PHP adodb库,但之后并未实际使用它 - 而是尝试实现(微软)ADO COM对象。
如果您没有从PHP安装/使用ADO,您可以尝试使用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
上的其他连接示例答案 2 :(得分:0)
最可能的原因是服务器上未正确安装ADO。尝试运行最新版本的MDAC并确保正确安装然后尝试使用agin。有关详细信息,请使用更多信息更新您的问题我假设你在Windows服务器上?