كيف يمكنني إضافة اتصال MS الوصول إلى كود إغنيتر أو للكيك؟

StackOverflow https://stackoverflow.com/questions/178860

سؤال

وأنا أحاول أن استخدام قاعدة بيانات Microsoft Access لمشروع تجريبي أنني أفكر في القيام في أي كود إغنيتر أو للكيك. تجاهل حماقة المحتملة لاستخدام مايكروسوفت أكسس، لم أكن قادرا على معرفة بالضبط كيف يتوافق سلسلة الاتصال لإعدادات قاعدة بيانات الأطر. في PHP على التوالي، ويمكنني أن استخدام هذا الرمز للاتصال قاعدة بيانات Access:

$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";
هل كانت مفيدة؟

المحلول

وحاول إنشاء DSN وتغيير لما يلي:

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

وهناك أيضا قسم في وثائق كود إغنيتر الذي يعالج سلاسل اتصال:

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

نصائح أخرى

هل من الممكن أن تستخدم Express SQL (مجانا!) المحرك بدلا من ذلك ومجرد استيراد / تصدير بك MS ديسيبل الوصول؟ هل يمكن أن أشكر لي في وقت لاحق على ذلك. : -)

وثمة خيار آخر هو استخدام مكتبة ADODB بدلا من مكتبة DB الأم CI، وعلى الرغم من أنك سوف تفقد الدعم سجل بالنشاطات من CI، وتضطر إلى إعادة كتابة بعض المكتبات في CI للاستفادة من ذلك، ولكن الامر يستحق ذلك إذا كنت لا تزال تريد لاستخدام CI مع DB غير معتمد للتطبيق الخاص بك. كان علي أن أفعل ذلك في وقت مبكر عندما كان هناك أخطاء في تنفيذ بوستجرس.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top