AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Mit Delphi Programm mit einem PostgreSQL Server verbinden
Thema durchsuchen
Ansicht
Themen-Optionen

Mit Delphi Programm mit einem PostgreSQL Server verbinden

Ein Thema von f.stendike · begonnen am 24. Mär 2003 · letzter Beitrag vom 1. Apr 2003
Antwort Antwort
Seite 1 von 2  1 2      
f.stendike

Registriert seit: 24. Mär 2003
8 Beiträge
 
Delphi 5 Enterprise
 
#1

Mit Delphi Programm mit einem PostgreSQL Server verbinden

  Alt 24. Mär 2003, 13:28
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
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.031 Beiträge
 
Delphi 12 Athens
 
#2

Zeos Libarie

  Alt 25. Mär 2003, 11:00
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
Martin Schaefer
  Mit Zitat antworten Zitat
f.stendike

Registriert seit: 24. Mär 2003
8 Beiträge
 
Delphi 5 Enterprise
 
#3
  Alt 25. Mär 2003, 17: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!!!
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.031 Beiträge
 
Delphi 12 Athens
 
#4

Nett zu hören

  Alt 25. Mär 2003, 18:39
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
Martin Schaefer
  Mit Zitat antworten Zitat
Dray

Registriert seit: 19. Mär 2003
Ort: Brilon
11 Beiträge
 
Delphi 5 Enterprise
 
#5
  Alt 26. Mär 2003, 09:12
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!
Angehängte Grafiken
Dateityp: jpg screeni1.jpg (70,4 KB, 33x aufgerufen)
MfG Dray aka Christian
  Mit Zitat antworten Zitat
f.stendike

Registriert seit: 24. Mär 2003
8 Beiträge
 
Delphi 5 Enterprise
 
#6

SELECT Abfragen

  Alt 26. Mär 2003, 13:11
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.
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.031 Beiträge
 
Delphi 12 Athens
 
#7

PG-Query

  Alt 27. Mär 2003, 17:20
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
Martin Schaefer
  Mit Zitat antworten Zitat
f.stendike

Registriert seit: 24. Mär 2003
8 Beiträge
 
Delphi 5 Enterprise
 
#8
  Alt 27. Mär 2003, 17: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?
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.031 Beiträge
 
Delphi 12 Athens
 
#9

Zeos -Query

  Alt 1. Apr 2003, 14:21
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
Martin Schaefer
  Mit Zitat antworten Zitat
f.stendike

Registriert seit: 24. Mär 2003
8 Beiträge
 
Delphi 5 Enterprise
 
#10
  Alt 1. Apr 2003, 17: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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz