문제

CodeIgniter 또는 CakePHP에서 수행 할 생각을하는 데모 프로젝트에 Microsoft Access 데이터베이스를 사용하려고합니다. Microsoft Access 사용의 가능한 어리 석음을 무시하면 연결 문자열이 프레임 워크의 데이터베이스 설정에 어떻게 해당하는지 정확하게 알아낼 수 없었습니다. Straight PHP에서는이 코드를 사용하여 액세스 데이터베이스에 연결할 수 있습니다.

$db_connection = odbc_connect(
  "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\\path\\to\\db.mdb", 
  "ADODB.Connection", "", "SQL_CUR_USE_ODBC"
);

이러한 문자열은 코드 점화기 DB 설정에 어떻게 대응합니까? 이것은 잘 작동하지 않는 것 같습니다.

$db['access']['hostname'] = "{Microsoft Access Driver (*.mdb)}";
$db['access']['username'] = "ADODB.Connection";
$db['access']['password'] = "";
$db['access']['database'] = "\\path\\to\\db.mdb";
$db['access']['dbdriver'] = "odbc";
$db['access']['dbprefix'] = "";
$db['access']['pconnect'] = TRUE;
$db['access']['db_debug'] = TRUE;
$db['access']['cache_on'] = FALSE;
$db['access']['cachedir'] = "";
$db['access']['char_set'] = "utf8";
$db['access']['dbcollat'] = "utf8_general_ci";
도움이 되었습니까?

해결책

DSN을 설정하고 다음으로 변경하십시오.

$db['access']['hostname'] = "<dsn name>";
$db['access']['username'] = "";
$db['access']['password'] = "";
$db['access']['database'] = "<dsn name>";

CodeIgniter 문서에 연결 문자열을 다루는 섹션도 있습니다.

http://codeigniter.com/user_guide/database/connecting.html

다른 팁

대신 SQL Express (무료!) 엔진을 사용하고 MS Access DB를 가져 오기/내보낼 수 있습니까? 나중에 나에게 감사 할 수 있습니다. :-)

또 다른 옵션은 CI의 기본 DB 라이브러리 대신 ADODB 라이브러리를 사용하는 것이지만 CI의 활성 레코드 지원을 잃고 CI의 특정 라이브러리를 다시 작성해야하지만 CI를 사용하려는 경우 가치가 있습니다. 응용 프로그램에 지원되지 않는 DB를 사용합니다. Postgres 구현에 버그가 있었을 때 일찍해야했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top