Page 1 of 1
PDO statt Adodb
Posted: Mon Jun 05, 2006 5:54 pm
by Piratos
Für eine ganz bestimmte Anwendung habe ich die 0.13 aif PDO gebracht.
Was ist PDO ?
Das ist einfach beantwortet das was Adodb in allen Formen versucht nachzubilden, was in bestimmten Serverkonfigurationen ein Apache Bestandteil ist und dewmentsprechend einfach und flink ist.
Wer sich dafür interessiert der kann einmal dieses kleine Testscript auf seinem Server starten:
Code: Select all
<?php
print_r(PDO::getAvailableDrivers());
?>
Die Ausgabe bei mir war diese:
Array ( [0] => firebird [1] => mssql [2] => mysql [3] => odbc [4] => pgsql [5] => sqlite [6] => sqlite2 )
0.13 läuft in der speziellen Anwendung nun unter mssql und odcb und Sqlite 3 zwar einwandfrei.
Und ich muss dazu bemerken die Umstellung war nicht so schwierig wie ich vermutet habe.
Die Hauptsache läuft 0.13 unter mssql aber 3 bestimmte Module unter odcb, odcb und eines unter Sqlite 3 - das geht sogar überraschend gut.
Re: PDO statt Adodb
Posted: Tue Jun 06, 2006 2:18 pm
by Piratos
Mich wundert das überhaupt keiner fragt wozu das gut ist eine cms mit 3 DB Systemen gleichzeitig laufen zu lassen.
Das ist ein Einsatz in einem Intranet und es musste auf DB's zugegriffen werden, die bereits existierten und zwar in Echtzeit und nicht nach einer Konvertierung.
Die DB's ausserhalb der CMS selbst werden von "richtigen" dicken Programmen gepflegt - es erfolgt über die CMS nur Lesezugriff.
Theoretisch müsste das auch mit Adodb Lite gehen, aber da sind mir die Treiber ausserhalb Mysql zu unsicher.
Re: PDO statt Adodb
Posted: Tue Jun 20, 2006 5:57 pm
by cyberman
Piratos wrote:
Für eine ganz bestimmte Anwendung habe ich die 0.13 aif PDO gebracht.
Wie lange hast du dafür gebraucht?
Wer sich dafür interessiert der kann einmal dieses kleine Testscript auf seinem Server starten:
Dürfte ja aber nur für User mit PHP>5.1 interessant sein

...
0.13 läuft in der speziellen Anwendung nun unter mssql und odcb und Sqlite 3 zwar einwandfrei.
Gibt's dafür einen DL-Link?
Und ich muss dazu bemerken die Umstellung war nicht so schwierig wie ich vermutet habe.
Kannst du für einen Nichtcoder mal kurz umreißen, was man da so umstellen muss?
Die Hauptsache läuft 0.13 unter mssql aber 3 bestimmte Module unter odcb, odcb und eines unter Sqlite 3 - das geht sogar überraschend gut.
Wie jetzt - eine CMS-Installation mit 3 DB's über PDO? Woher weiss CMSms denn, welche DB gerade aktuell ist?
Re: PDO statt Adodb
Posted: Wed Jun 21, 2006 4:35 pm
by Piratos
Nur für die PDO Umstellung ca. 30 Stunden.
Nur 5.1 ? Nö , jeder der PDO auf dem Webserver installiert hat. 5.1 bedeutet noch lange nicht das dieses der Fall ist (siehe byethost, oder Xampp - bei Xampp hat man nur Mysql , den Rest muss man selbst aktivieren.).
Es gibt da keinen DL Link da bezahlte Auftragsarbeit.
Das mit dem eben mal umreissen für einen Nichtcoder ist nicht, da müsste ich ja mit einem WM GFussball im Mund so sauber sprechen können, dass der Nichtcoder mich versteht - kann ich nicht.
t 3 DB's über PDO?
Das ist doch ganz einfach - es handelt sich ja um Modulzugriffe auf die DB , es zwingt mich doch keiner z.B. über GetDB auf die Standarddb zuzugreifen, man kann problemlos jede DB auch nur über das Modul öffnen, Outputdaten an Smarty und das war's.
Die CMS hat keine Ahnung wo und wie die Daten an Smarty gelangen und es ist ihr auch völlig egal.
Das hat schon immer funktioniert - man muss nur mal flexibel denken und nicht starr vor Erfurcht auf Adodb und CMSMS schauen.
Im übrigen haben das ja einige schon gemacht (mysql direkt) , wenn sie jetzt auch zurück rudern (Guestbook - und da hat sich kein User beschwert dass dieses nicht geht.).
Re: PDO statt Adodb
Posted: Wed Jun 21, 2006 5:45 pm
by Piratos
So nun mal das was das PHP Handbuch sagt:
ships with PHP 5.1, and is available as a PECL extension for PHP 5.0; PDO requires the new OO features in the core of PHP 5, and so will not run with earlier versions of PHP.
Mit anderen Worten ist es ab 5.0 verfügbar, was aber nicht bedeutet, das es auf jedem Webserver verfügbar ist der 5.X besitzt.
Laut Handbuch werden z.Z. diese DB's unterstützt, was aber auch nicht bedeutet, dass eine solche Option tatsächlich auf Webserver X zur Verfügung steht:
PDO_DBLIB FreeTDS / Microsoft SQL Server / Sybase
PDO_FIREBIRD Firebird/Interbase 6
PDO_MYSQL MySQL 3.x/4.x
PDO_OCI Oracle Call Interface
PDO_ODBC ODBC v3 (IBM DB2, unixODBC and win32 ODBC)
PDO_PGSQL PostgreSQL
PDO_SQLITE SQLite 3 and SQLite 2