2013-01-14 62 views
1

因为没有人回答我的问题Codeigniter using ms access database,我做,如果我使用从我的电脑MDB它的作品我没有使用笨PHP中使用MSACCESS

,但如果我在我的网络使用mdb从另一台计算机的新问题

我得到这个错误是我的代码

<?php 

$connect = odbc_connect("testdb", "", ""); 
$query = "SELECT * FROM ACGroup"; 
$result = odbc_exec($connect, $query); 

while(odbc_fetch_row($result)){ 
    $name = odbc_result($result, 1); 
    echo("$name"); 
} 

?> 

我做ODBC其中从另一台计算机我的网络中的数据的

"testdb" are data sourcename and database \\ip\folder\testdb.mdb 

,我得到这个错误

Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Microsoft Access Driver] 
    The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data., 
    SQL state S1000 in SQLConnect in D:\blabla\coba.php on line 3 

我已经尝试文件夹设置,但它不能正常工作

回答

0

您正在使用的ODBC连接字符串("testdb")甚至不指定数据库驱动程序,远不如一个数据库文件。您需要阅读$dsn的适当格式。 (The php.net page甚至有几个Access文件的示例。)

+1

如果“testdb”是系统上配置的本地odbc数据源,则其连接字符串无误,因为第一个值表示有效的用户或系统dsn名称,如果需要,其他两个字段将是用户名和密码。 – Mattt

+0

@mjayt谢谢你回答我的问题,我已经完成了我的问题 – Belajar

0

问题可能在于Apache用户对mdb文件的权限。

转到您的mdb文件,右键单击文件 - >属性 - >安全选项卡,查看您的Apache用户是否位于可以访问/控制mdb文件的用户组上。

要查看/更改您的Apache用户,请转到控制面板 - >管理工具 - >服务,右键单击Apache服务 - >属性 - >登录选项卡。在“以身份登录”选项中,查看所选用户是否属于有权访问mdb文件的用户组。如果没有,请创建一个并将其添加到用户组,然后将其用作Apache帐户。