Frage
Antwort
- die entsprechende Python Datenbank API
- das passende Datenbank Adapter Produkt für Zope.
Postgres
Wer noch keine lokale Postgres installiert hat, kann dies unter Debian mit apt-get install postgres nachholen (default encoding ist LATIN1). Danach sollte auf dem System ein postmaster Prozess laufen. Wer auf eine Postgres zugreifen möchte, die auf einem anderen Server installiert ist, braucht natürlich keine lokale Datenbank und kann diesen Schritt überspringen.Als nächstes installieren wir die Python Postgres API:
- Debian: apt-get install python2.1-popy
- Sourcen: http://sourceforge.net/projects/popy
Danach holen uns von der zope.org das ZPoPyDA Produkt, um Zope an eine Postgres Datenbank anbinden zu können:
Wir packen es mit tar xvzf ZPoPyDA-2.x.x.tar.gz direkt in $ZOPEHOME aus. Im Product Verzeichnis sollte sich nun unter $ZOPEHOME/lib/python/Products/ der Ordner ZPoPyDA befinden. Nach einem Neustart von Zope sollte sich im ZMI unter /Control_Panel/Products das Produkt ZPoPyDA befinden.
Für Postgres steht auch der PsycoPG Datenbankadapter zur Verfügung. Dieser ist eindeutig besser als PoPy und sollte deshalb verwendet werden.
mySQL
Alternativ kann statt der Postgres natürlich auch eine mySQL Datenbank angebunden werden. Ein Zope mySQL Datenbank Adapter befindet sich im Debian Paket python2.1-mysqldb oder auf den Zope.org Memberseiten von Andy Dustman. Es lohnt sich auch ein Blick auf die Projektpage auf Sourceforge.Das entsprechend benötigte Zope Produkt kann unter herunter geladen und analog zum Postgres-Produkt installiert werden.
siehe auch:
- Installation von Zope mit MySQL Anbindung auf SuSE Linux 8.1 von Wolfgang Heider
ODBC
Datenbankverbindung
Um nun eine Verbindung zu einer Postgres Datenbank zu öffen, muss noch ein ZPoPy DataBase Adapter bzw. ein ZMySQL Database Adapter Objekt angelegt werden. Wichtig ist hier, das die Angaben im Database Connection String mit den Rechten und Usern der Postgres Datenbank übereinstimmen. Steht die Datenbankverbindung, kann man mittels Z SQL Methods SQL Befehle über den angelegten Adapter an die Postgres absetzen. Die angelegte Z SQL Methode kann nun aus jedem beliebigen Zope Object (DTML Document, DTML Method ...) verwendet werden.Damit sollte es nun grundsätzlich möglich sein, aus Zope auf externe Datenbanken zuzugreifen. Weitere Hinweise zur Datenbankprogrammierung mit Zope finden sich im Zope Buch auf den DZUG Seiten.
siehe auch:
Anregungen zu dieser FAQ bitte an mschopen at dzug org