无法在linux上连接php和ms access数据库

无法在linux上连接php和ms access数据库,php,unixodbc,Php,Unixodbc,我已经在ubuntu14.0中安装了unixodbc和libodbc,并在这里配置了它 /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 S

我已经在
ubuntu14.0
中安装了
unixodbc
libodbc
,并在这里配置了它

/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
和数据源配置

/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);
但如果我输入sql的用户名,它将通过拒绝用户root的访问进行访问 它与sql连接

更改

$dataSourceName = "odbc:Driver=$driver;DBQ=$mdb_file;";


虽然我的dsn引用的是ms access文件,但它只是与mysql数据库连接,而不是与ms access连接