كيف يمكنني إضافة اتصال MS الوصول إلى كود إغنيتر أو للكيك؟
-
05-07-2019 - |
سؤال
وأنا أحاول أن استخدام قاعدة بيانات 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>";
وهناك أيضا قسم في وثائق كود إغنيتر الذي يعالج سلاسل اتصال:
نصائح أخرى
هل من الممكن أن تستخدم Express SQL (مجانا!) المحرك بدلا من ذلك ومجرد استيراد / تصدير بك MS ديسيبل الوصول؟ هل يمكن أن أشكر لي في وقت لاحق على ذلك. : -)
وثمة خيار آخر هو استخدام مكتبة ADODB بدلا من مكتبة DB الأم CI، وعلى الرغم من أنك سوف تفقد الدعم سجل بالنشاطات من CI، وتضطر إلى إعادة كتابة بعض المكتبات في CI للاستفادة من ذلك، ولكن الامر يستحق ذلك إذا كنت لا تزال تريد لاستخدام CI مع DB غير معتمد للتطبيق الخاص بك. كان علي أن أفعل ذلك في وقت مبكر عندما كان هناك أخطاء في تنفيذ بوستجرس.