不能与MS Access数据库在Linux上
问题描述:
我必须安装在ubuntu 14.0
unixodbc
和libodbc
PHP连接和配置在这里是配置不能与MS Access数据库在Linux上
/etc/odc.ini
[MyDriver]
Description = MyDriver Driver for MyDBMS
Driver = /path/to/libmyodbc.so
Setup = /path/to/libmyodbcs.so
FileUsage = 1
UsageCount = 1
和数据源配置
[MyDataSource]
Description = The Source of My Data
Driver = MyDriver
ServerName = localhost
Database = MyDatabase
UserName = admin
Password = something
这里是PHP代码
$query = 'SELECT * FROM MyTable';
$mdb_file = '/path/to/example.mdb';
$uname = explode(" ",php_uname());
$os = $uname[0];
switch ($os){
case 'Windows':
$driver = '{Microsoft Access Driver (*.mdb)}';
break;
case 'Linux':
$driver = 'MDBTools';
break;
default:
exit("Don't know about this OS");
}
$dataSourceName = "odbc:Driver=$driver;DBQ=$mdb_file;";
$connection = new \PDO($dataSourceName,'','');
$result = $connection->query($query)->fetchAll(\PDO::FETCH_ASSOC);
print_r($result);
但它通过访问拒绝root用户,然后,如果我输入SQL 的用户名它与SQL连接
答
变化
$dataSourceName = "odbc:Driver=$driver;DBQ=$mdb_file;";
要
$dataSourceName = "odbc:Driver=$driver;DBQ=$mdb_file;Uid='';Pwd='';";
我做的,但它只是用mysql数据库连接不尽管MS访问我的dsn指ms访问文件 – jamal