在CentOS上使用PHP ODBC进行远程MS ACCESS连接

时间:2015-09-17 15:25:42

标签: php ms-access pdo odbc freetds

我有一台托管在Windows Server 2003计算机上的管理软件,该软件使用MS Access(* .mdb)数据库。

在另一台使用CentOS 6.7的机器上,我安装了相对于php odbc,freetds等所有必需的模块。

现在我需要使用以下PHP代码连接到我的远程数据库:

$db = new PDO("odbc:Driver=FreeTDS;Server=ip_of_windows_server;DBQ=mdb_file_name.mdb;Uid=;Pwd=my_mdb_password;");

$query = 'SELECT * FROM table_name';
$statement = $db->prepare($query);
$statement->execute();
$result = $statement->fetchAll(PDO::FETCH_NUM);

我得到的错误是:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[08001] SQLDriverConnect: 0 [unixODBC][FreeTDS][SQL Server]Unable to connect to data source' in /home/my_user/public_html/odbc/index.php:21 Stack trace: #0 /home/my_user/public_html/odbc/index.php(21): PDO->__construct('odbc:DRIVER=Fre...') #1 {main} thrown in /home/my_user/public_html/odbc/index.php on line 21

你可以看到我没有为我的数据库使用任何用户名,但是如果我在用户名中输入'root'就是一样。

Driver = FreeTDS取自etc/odbcinst.ini此内容:

[FreeTDS]
Description = ODBC PDO
Driver = /usr/local/freetds/lib/libtdsodbc.so
Driver64 = /usr/lib64/libtdsodbc.so.0
UsageCount = 1
Threding = 2

并在etc/odbc.ini我有这样的内容:

[mydb]
Description = "Microsoft Access Try DB"
Driver = FreeTDS
Database = /my_mdb_name.mdb
Servername = ip_of_windows_server
Port = 80
Trace = No
TDS_Version = 8.0

我确定我错了什么,但我不知道:P

提前致谢。

0 个答案:

没有答案