Hi,
nach ziemlich langem Googlen, Ausprobieren, Googlen, Ausprobieren...
hab ich endlich geschafft, cake 1.2 (es wird vermutlich 1.1 ähnlich
treffen) meine zuvor bestehende Anwendung auch mit diesem f....
bulls.. Produkt zum laufen zu bekommen.
Hier mein Weg, vielleicht hilft er ja anderen:
1) PHP:
Die Anweisungen und Tipps habe ich alle vom php.net gezogen:
- in der php.ini mssql Unterstützung aktivieren laut Anleitung
("mssql" in der Funktions-Suche eingeben)
- php.ini: mssql.secure_connection = On
Aus dem Netz die ntwdblib.dll mit der Version 2000.80.194.0 ziehen.
Diese in das Windows-System32 - Verzeichnis, das PHP-Verzeichnis
packen (Ich arbeite mit wamp5, hier die Datei in das PHP und das
Apache2-Verzeichnis kopieren (bestehende Version überschreiben)
2) MSSQL
User mit SQL-Server-Autentifizierung anlegen
Mit dem SQL-Server Konfigurations Manager bei Protokollen TCP/IP
aktivieren, "Dynamische TCP Ports" auf 1221 setzen.
Wenn geht, die Sprache auf "English" setzen (ich habe nix gefunden,
wie ich dies nachträglich machen kann... vielleicht kann mir da jemand
einen Tip geben). Wg. der Sprache: siehe 3.
3) Cake
Ich habe folgende db-config angesetzt:
var $default = array(
'driver' => 'mssql',
'persistent' => true,
'host' => '*myName*\SQLEXPRESS',
'port' => '1221',
'login' => '*login*',
'password' => '*pw*',
'database' => '*db*',
'prefix' => '',
'encoding' => ''
);
Damit funktionierte die DB-Connection, habe aber sofort einen Fehler
bekommen:
"Der Datenbankkontext wurde auf '*db*' geändert."
Dies ist eine Meldung, die eigentlich kein Fehler ist, aber in der
mssql_get_last_message() landet. Dies wird interpretiert als ein
Fehler.
Dieser Fehler sollte mit Englisch-sprechenden SQL-Servern nicht
auftreten, aber mit allen anderen.
In der Cake-Lib gibt es in der Datei \cake\libs\model\datasources\dbo
\dbo_mssql.php bei Zeile 360 die Abfrage
if (strpos(low($error), 'changed database') === false ...
diese ist in der deutschen Version zu ergänzen um " &&
strpos(low($error), 'datenbankkontexter')"
dann funxt es auch mit der deutschsprechenden SQL-Servern.
BTW:
Viel einfacher wäre es gewesen, mit ODBC zu arbeiten, die Connection
hatte ich in 2min hergestellt. Leider ist Cake mit ODBC in Verbindung
mit einem SQL-Server nicht verwendbar. Es enthält so ziemlich alle
Bugs, die man für die ersten Cake-Versionen in Verbindung mit mssql
erhält (alle Statements sind nicht auf die mssql-syntax ausgerichtet).
Hoffe, es hilft anderen...
Beste Grüße von der Spree an die Cake-Gemeinde
--~--~---------~--~----~------------~-------~--~----~
Sie erhalten diese Nachricht, weil Sie Mitglied sind von Google Groups-Gruppe
"CakePHP-de für deutsche CakePHP Entwickler".
Für das Erstellen von Beiträgen in dieser Gruppe senden Sie eine E-Mail
an [email protected]
Um sich von dieser Gruppe abzumelden, senden Sie eine E-Mail an [EMAIL
PROTECTED]
Weitere Optionen finden Sie in dieser Gruppe unter
http://groups.google.com/group/cakephp-de?hl=de
-~----------~----~----~----~------~----~------~--~---