[英]CodeIgniter 3.1.10 : Cannot connect to remote database by DSN using ODBC
我有一個問題,如上所述,DSN使用CodeIgniter 3.1.10中的ODBC驅動程序連接到遠程數據庫。 DSN已在ODBC數據源管理器中創建。 當我想要將系統從CodeIgniter 2.2.3更新到3.1.10時,會出現問題。
它實際上適用於CodeIgniter 2.2.3,代碼如下:
$db['default']['hostname'] = "myDSN";
$db['default']['username'] = '';
$db['default']['password'] = '';
$db['default']['database'] = 'myDatabase';
$db['default']['dbdriver'] = 'odbc';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
但它顯示錯誤如下:
當前未加載數據庫驅動程序
當我嘗試使用CodeIgniter 3.1.10上的相同設置時,代碼如下:
$db['default'] = array(
'dsn' => '',
'hostname' => 'myDSN',
'username' => '',
'password' => '',
'database' => 'myDatabase',
'dbdriver' => 'odbc',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
但是在CodeIgniter 3.1.10中,當我使用以下代碼手動連接到數據庫時連接成功:
$dbconn=odbc_connect("myDSN", "", "");
if(!$dbconn)
{
die("Could not connect Adaptive Server Anywhere: ".odbc_errormsg(). odbc_error());
} else {
echo "connection success";
}
因此,由於它可以在使用手動代碼時連接,有人可以使用CodeIgniter 3.1.10中的數據庫代碼指導我如何成功連接嗎?
經過相當多的研究 - 我認為問題不在於ODBC元素,而在於你沒有自動加載數據庫庫。 該錯誤與ODBC無關,但正如我在此處找到的: Codeigniter:數據庫驅動程序當前未加載是因為我不相信您已自動加載數據庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.