在为数据库定义密码时用php连接到MS访问

时间:2015-05-29 11:40:54

标签: php ms-access

我正在尝试从php连接Ms Access DataBase。 我的代码在config.php

中是这样的
     include './config.php';
   if (!file_exists(DBNAMEACCESS)) {
            die("Could not find database file.");
        }
 try{
            $dbName=DBNAMEACCESS;
            $username=DBACCESSUSERNAME;
            $password=DBACCESSPASSWORD;
             $dba = odbc_connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$dbName",$username, $password);

   if ($dba) {
/*......*/
} else
            {
                die("Could not connect to access database");
            }
             }
        catch (Exception $ex) {
//            var_export($ex);
                setmessage($ex) ;
        }

并在process.php中这样:

         $dba = odbc_connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$dbName",$username, $password);

为访问文件定义密码时,我在此行中收到此错误: 我的错误:odbc_connect():SQL错误:[Microsoft] [ODBC Microsoft Access驱动程序]无法打开数据库'(未知)'。它可能不是您的应用程序识别的数据库,或者文件可能已损坏。,此行中的SQLConnect中的SQL状态S1000

 for (int i = 1; i <= GotoLineNo; i++)
 {
    char* str = new char[20];
     Inoutput_file.getline(str, 20, '\n');
    if (i == LineNo-1)
    {
        Inoutput_file.seekp(Inoutput_file.tellg());
        Inoutput_file.getline(str, 20, '\n');
        cout << str << endl;                //prints the correct line
        Inoutput_file << "Goto " + str <<endl;  //Now it will work fine
        cout << "Goto " + str<<endl;      // Prints correct line
    }

当没有为访问文件定义密码时,我的代码正确执行。

1 个答案:

答案 0 :(得分:0)

问题与Microsoft Access数据库引擎安装有关。 我已尝试使用this并重新启动计算机。 然后工作正常。