Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Mit Delphi Programm mit einem PostgreSQL Server verbinden (https://www.delphipraxis.net/3660-mit-delphi-programm-mit-einem-postgresql-server-verbinden.html)

f.stendike 24. Mär 2003 14:28


Mit Delphi Programm mit einem PostgreSQL Server verbinden
 
Hallo an alle interessierten da draussen!

Ich habe eine Frage zum Thema Datenbanken unter Delphi:

Wie kann ich mich mittels eines Delphi Programms mit einem PostgreSQL Server verbinden und an diesen beispielsweise einfache SQL Abfragen schicken? Wie muss ich welche Treiber (ODBC,...) wo installieren. Hat irgendwer passende Komponenten dafür?

Danke im Vorraus für alle Antworten

mschaefer 25. Mär 2003 12:00

Zeos Libarie
 
Moin, moin,

Deine Konstellation ist wahrscheinlich Unix-Rechner mit PosGreSQL und
Windows-Rechner mit Delphi Proggramm un die sind über TCP/IP
irgendwie in Verbindung.

Dafür kannst Du gut die ZEOS-Libarie einsetzen. Wobei ich empfehlen würde
zunächst auf dem Windows-Rechner mal MySQL zu installieren und zunächst damit zu experimentieren. Dann braucht man später nur die MySQL- komponenten durch die PostGre-Komponenten zu ersetzen. Etwas Einarbeitungszeit ist da allerdings fällig. Aber PostGre mach eh
kein Hobbieprogrammierer, so dass wohl nicht das Problem sein sollte.

Hier der Link zur Quelle
http://www.bigblu.de/zeos/ger/

Grüße // Martin

f.stendike 25. Mär 2003 18:56

Danke, ich hab dank dir genau das gefunden, was ich gesucht habe. Ich hatte zwar in der Zwischenzeit auch schon ne andere Lösung hinbekommen, aber dann muss man auf allen Clients natürlich die BDE Verwaltung von Delphi installieren, was natürlich viel zu umständlich ist.

Nochmals vielen dank für die äusserst hilfreiche Antwort!!!

mschaefer 25. Mär 2003 19:39

Nett zu hören
 
Moin,

habe auch den Eindruck, das Zeos recht stabil läuft.
Lass die Finger von BDE wenn irgend möglich. Solange die
Projekte wenig Tabellen oder nur simple SQL haben ist
das alles bestens, aber irgendwann kommt die Zeit der
210d und 2108 Fehlermeldungen aus den tiefen der BDE-
Speicherverwaltung. Die sind wohl auch der Grund warum
Borland die BDE nicht weiterentwicklet hat.

Sonst viel Erfolg // Martin

Dray 26. Mär 2003 10:12

Liste der Anhänge anzeigen (Anzahl: 1)
Also wie f.stendike hab ich die ganze sache mit BDE auch hinbekommen. Kann mir mal einer erklären wie das mit den ZEOS-Komponenten funktioniert? Oder mal nen Sourcecode posten als Beispiel wie ich das genau mache?

Ich bekomme unter anderem den Fehler der in dem Screenshot den ich angehängt hab zu sehen ist!

f.stendike 26. Mär 2003 14:11

SELECT Abfragen
 
Also:

Bei mir funzt nun alles wunderbar - mal abgesehen davon, dass man den Server von diesen Zeos Komponenten vergessen kann - Ich habe allerdings noch ein anderes Problem:

Mit der Komponente TZPgSqlQuery kann man ja nur Transaktionen durchführen, die keinen Wert zurückliefern wie INSERT, DELETE, usw. das funktioniert auch wunderbar. Aber wie kann ich eine SELECT Anweisung richtig durchführen? Das ich das mit der TZPgSqlTable Komponente machen muss indem ich TableName einen Wert zuweise ist schon klar. Aber wie bekomme ich dann die Daten wieder ausgelesen aus dieser Komponente? Bisher hatte ich das mit der BDE Lösung mittels eines DataSource Elements und eines Cursors gemacht, aber das funktioniert hierbei nicht, weil ich den Cursor beider SELECT Abfrage ja nicht mit angeben kann.

mschaefer 27. Mär 2003 18:20

PG-Query
 
Moin, moin,

Also mit der Query kann man auch eine laufende verbindung über SELECT
aufbauen. Um das gane etwas zu vereinfachen. Es gibt in dem ZEOS Zip ein
Verzeichnis Examples. Darin gibt es ein Beispielprogramm mit Namen
Simple Mysql. Hier würde ich einfach die Mysql Komponenten durch die
PG-Komponenten ersetzen. Das sollte helfen...

etwas überarbeitete Grüße aus dem Norden

// Martin

f.stendike 27. Mär 2003 18:51

Danke für den Tip, das habe ich auch schon versucht. Es kommt dann aber zu Fehlermeldungen weil er erstens irgendwelche Klassen der MySQL Komponenten nicht findet, obwohl ich diese installiert habe. Dann sind die Komponenten auf dem Beispielformular erst gar nicht drauf. Ersetze ich die nicht vorhandenen Komponenten dann mit denen von Postgres kommt es zu irgendwelchen Fehlren bei der Laufzeit - irgendwelche Exceptions oder ähnliches, weil die Komponenten ja nicht 100%ig gleich sind.

Hab auch noch was anderes ausprobiert: wenn ich anstatt query1.execsql query1.open aufrufe, erscheint im meinem DBGrid ein leeres Feld, aber ohne Daten darin.

Muss ich nun für eine SELECT Abfrage query1.execsql oder query1.open ausführen? query1.open ist in der spärlichen Dokumentaton dieser Komonenten leider nicht aufgeführt.

Und gibt es denn nicht sowas wie nen Cursor in der query Komponente von Zeos?

mschaefer 1. Apr 2003 15:21

Zeos -Query
 
Moin,
erstmal sorry für die Zeitverzögerung, aber leider geht mein Aussendienst
derzeit vor und da bleibt für Winternet nun mal weniger zeit.


Zur Query-Komponente:

1. Die Selectanweisung steht in der Eigenschaft SQL der Query-Komponente
2. Datasbase ist mit der Databasekomponente verbunden
3. Databasekomponente hat eine Verbindung zum Server Connected = true)

Die SQL-Anweisung wird mit Query.open zum Server geschickt
Die Ergebnismenge geht an die Query zurück und wenn auf dem
Formular z.B. ein Grid liegt, das mit einer Datasourcekomponente
verbunden ist und die Datasourcekomponente die Query eingetragen,
dann geht die Ergebnismenge weiter an das Grid.


Bei den Beispielprogrammen gibt es auch noch ein Alldb-Beispiel
das sollte für MySQL und Postgre laufen.


Hat Deine PostGre eigentlich Internetanschluß oder ist das ein
Intranet (reine Neugier)

Grüße // Martin

f.stendike 1. Apr 2003 18:48

Thanks @ all!

Danke an alle für eure Antworten, heute haben sich alle Probleme von selber gelöst.
@mschaefer: Es handelt sich um ein firmeninternes Intranet


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:21 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz