我必须通过PHP建立到Access数据库的连接,但每次我尝试时都会收到此错误:
致命错误:未捕获的异常'com_exception'
留言:
'来源: Microsoft OLE DB
服务组件
描述: Das Format der Initialisierungszeichenfolge entspricht nicht den OLE DB-Angaben。'在E:\ path \ to \ phpfile.php:93
堆栈跟踪:#0 E:\ path \ to \ phpfile.php(93):com->打开('DRIVER = {Microso ...')#1 {main}抛出
德语文本意味着“初始化字符串的格式不是OLE DB语句的通用。
我的连接代码类似于
$db = 'DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\") & ("\\db\\db.mdb") & ";"';
$conn = new COM("ADODB.Connection");
$conn->Open($db);
我无法弄清楚出了什么问题。在纯ASP中,它可以正常工作,但不能在PHP中工作。
提前致谢
答案 0 :(得分:2)
而不是使用“ADODB.Connection”模块使用PDO,因为它目前是最佳选择,是最佳做法,以下是文档:http://php.net/manual/en/book.pdo.php
但是如果PDO不适合您,那么请参阅ODBC(PDO RECOMMENDED),这是一个本机PHP模块。以下是文档:http://php.net/manual/en/book.uodbc.php
要开始连接,您可以执行此操作:$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $password);
答案 1 :(得分:1)
请改用PDO。它可以通过ODBC连接:
$pathToMDB = "path/to/db.mdb";
$db = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=$pathToMDB", 'admin');