Frage

Ich versuche, eine Microsoft Access -Datenbank für ein Demo -Projekt zu verwenden, an das ich entweder in Codesigniter oder in CakePHP durchführen möchte. Wenn ich die mögliche Torheit der Verwendung von Microsoft Access ignorierte, konnte ich nicht genau herausfinden, wie die Verbindungszeichenfolge den Datenbankeinstellungen der Frameworks entspricht. In geraden PHP kann ich diesen Code verwenden, um eine Verbindung zu einer Zugriffsdatenbank herzustellen:

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

Wie entsprechen diese Zeichenfolgen den Code -Zünder -DB -Einstellungen? Das scheint nicht ganz zu funktionieren:

$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";
War es hilfreich?

Lösung

Versuchen Sie, einen DSN einzurichten und zu Folgendem zu wechseln:

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

In der Codesigniter -Dokumentation gibt es auch einen Abschnitt, der sich mit Verbindungszeichenfolgen befasst:

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

Andere Tipps

Wäre es möglich, stattdessen die SQL Express -Engine (kostenlos!) Und Importieren/exportieren Sie Ihre MS Access DB? Sie konnten mir später danken. :-)

Eine weitere Möglichkeit ist die Verwendung der AdodB -Bibliothek anstelle der nativen DB -Bibliothek von CI, obwohl Sie die aktive Datensatzunterstützung von CI verlieren und bestimmte Bibliotheken in CI umschreiben müssen, um sie zu verwenden, aber es lohnt sich, wenn Sie noch CI verwenden möchten mit einer dB, die für Ihre Bewerbung nicht unterstützt wird. Ich musste es frühzeitig tun, als es in der Postgres -Implementierung Fehler gab.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top