2008-10-07 56 views
3

我正在嘗試使用Microsoft Access數據庫作爲演示項目,我正在考慮在CodeIgniter或CakePHP中進行操作。忽略使用Microsoft Access可能的愚蠢行爲,我無法準確計算出連接字符串如何與框架的數據庫設置相對應。在直PHP,我可以使用此代碼連接到Access數據庫:如何將MSAccess連接添加到CodeIgniter或CakePHP?

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

如何這些字符串對應代碼點火分貝設置?這似乎並不相當的工作:

$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"; 

回答

2

嘗試建立一個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

0

是否有可能使用SQL Express(免費!)引擎,而只是導入/導出您的MS Access數據庫?你後來可以感謝我。 :-)

另一個選擇是使用ADOdb庫而不是CI的本地數據庫庫,儘管您將失去對CI的Active Record支持,並且必須重新編寫CI中的某些庫才能使用它,但值得如果你仍然想使用CI來處理你的應用程序不支持的數據庫。當Postgres實現中存在錯誤時,我必須儘早做到這一點。