2009-11-13 5 views
0

CakePHP 응용 프로그램에서 Acces (MDB) 데이터베이스를 사용하려고합니다. Windows 컴퓨터에서이 작동합니다. Unixodbc를 사용하는 리눅스 컴퓨터에서는 전혀 작동하지 않습니다. 오류 : 다음과 같습니다.CakePHP 및 Unixodbc를 사용하여 MS Access db에 연결

경고 (2) : odbc_connect() [function.odbc-connect] : SQL 오류 : [unixODBC] [드라이버 검색기] 데이터 이름을 찾을 수 없으며 기본 드라이버가 지정되지 않았습니다. SQL 상태 IM002는 SQLConnect에서 [APP/공급 업체/ADODB/드라이버/adodb를-odbc.inc.php, 라인 (60)]

CakePHP의 데이터 소스 정의는 다음과 같습니다

   $default = array(
          'driver' => 'adodb', 
          'connect' => 'access', 
          'host' => "Driver=[MDBODBC]; Dbq=".$filePath.";Uid=Admin;Pwd=;}", 
          'login' => 'Admin', 
          'password' => '', 
          'database' => '' 
        ); 

이 구성에있어 문제점은 무엇입니까?

답변

2

'host'요소는 닫히지 않는 닫는 중괄호로 인해 일반적으로 이상하게 보입니다.

dodb-odbc.inc.php에서 줄 번호 60 (오류 메시지의)은 어떻게 보입니까? odbc_connect에 대한 호출에 구성 배열의 어떤 요소가 사용됩니까? odbc_connect documentation.

을 사용하여 연결을 시도한 적이 있습니까? AS를

옆으로, 케이크의 나의 버전은 그것은 odbc_pconnect 사용

cake/libs/model/dbo/dbo_odbc.php 

에서, 케이크 틀 내에서 실제로 ODBC DBO 드라이버를 가지고있다. 여기서 odbc_pconnect의 첫 번째 인수 인 $dsn 문자열은 'host'요소가 아니라 config 배열의 'database'요소에서 가져옵니다. 당신이 특히 the Date Library in John Lim ADOdb Library for PHP allows remote attackers to obtain sensitive information 이후

app/vendors/adodb/drivers/adodb-odbc.inc.php 

에 타사 솔루션을 사용하는 이유

나도 몰라.

관련 문제