AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Fehlermeldung bei Zugriff über Postgresql
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlermeldung bei Zugriff über Postgresql

Ein Thema von EdAdvokat · begonnen am 7. Mär 2018 · letzter Beitrag vom 10. Mär 2018
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
EdAdvokat

Registriert seit: 1. Mai 2016
Ort: Berlin
414 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Fehlermeldung bei Zugriff über Postgresql

  Alt 7. Mär 2018, 08:35
Datenbank: Postgresql • Version: 9.0 • Zugriff über: ZeosLib
Ich experimentiere mit Postgresql und versuche vergeblich eine Verbindung zur Datenbank herzustellen. Dabei habe ich sowohl die Zeos-Komp. als auch FireDAC verwendet. Wenn ich das Query auf active stellen will erhalte ich folgende Fehlermeldung:
Zitat:
---------------------------
Fehler
---------------------------
[FireDAC][Phys][PG][libpq] fe_sendauth: no password supplied
.
---------------------------
OK
---------------------------
Ich habe es bereits auch mit Postgresql 10 versucht, aber auch ohne Erfolg. Ich vermute, irgendetwas stimmt mit der libpg.dll nicht.
Eingestellt habe ich PostgreSQL über die FDDrivers.ini mit folgenden Angaben:
Zitat:
[PG]
VendorLib=C:\data\pgdriver\akt\libpq.dll
VendorLib=C:\data\pgdriver\ssleay32.dll
VendorLib=C:\data\pgdriver\libeay32.dll
VendorLib=C:\data\pgdriver\libintl-8.dll
VendorLib=C:\data\pgdriver\libiconv-2.dll

[PG9.0]
BaseDriverID=PG
VendorLibWin32=C:\Program Files (x86)\PostgreSQL\9.0\bin\libpq.dll


[PG10]
BaseDriverID=PG
VendorLibWin32=C:\Program Files\PostgreSQL\10\bin\32\libpq.dll
VendorLibWin64=C:\Program Files\PostgreSQL\10\bin\libpq.dll
Irgendwie will es einfach nicht klappen. Kann mir jemand auf die Sprünge helfen?
Norbert
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: Fehlermeldung bei Zugriff über Postgresql

  Alt 7. Mär 2018, 08:46
Ich tippe eher auf ein Konfigurationsproblem.

1.Frage:
Liegt die DB lokal oder remote? (lokal dann vermutlich Windows, remote vielleicht Linux?)

2.Frage:
Sind pg_hba conf und postgres conf entsprechend angepasst?

Es gibt verschiedene Login Verfahren bei pg und da musst Du Dich bzw. die DB drauf einstellen.
Auf dem server sagt man, wer auf welche DB mit welchem Verfahren zugreifen kann.
Und man sagt ihm, welche IP überhaupt dürfen.

P.S.: Du solltest unabhängig von Delphi mit irgendeinem Client auf die DB kommen. Solche Test empfehlen sich grundsätzlich, bevor man mit libs/dlls usw. rumbastelt. Bspw. sollte es mit PGADMIN funktionieren, dann wie gewünscht auch mit verschiedenen Usern.
Wenn das schon nicht geht, braucht man mit Delphi nicht anzufangen.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.289 Beiträge
 
Delphi 12 Athens
 
#3

AW: Fehlermeldung bei Zugriff über Postgresql

  Alt 7. Mär 2018, 08:50
Moin...
Zitat:
Wenn ich das Query auf active stellen will
...im Objektinspektor oder per Code?
  Mit Zitat antworten Zitat
EdAdvokat

Registriert seit: 1. Mai 2016
Ort: Berlin
414 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Fehlermeldung bei Zugriff über Postgresql

  Alt 7. Mär 2018, 09:08
Hallo #jobo zu 1 die DB liegt lokal auf einem W-10 Rechner unter c:\Data\kunden.pgsql
zu 2. da wird es spannend, denn dazu kann ich überhaupt nichts sagen. Was muss ich da machen?
Ich habe die Datenbank und die Tabelle mit dem Admin-Tool von Postgresql erstellt und habe dann auch einige Probedaten mit diesem Tool eingepflegt.
Eigentlich geht es mir nur daraum ähnlich wie mit SQlite oder Firebird einen Zugriff auf eine Postgresql-DB zu erhalten.

Hallo haentschman ich habe es lediglich mit dem Objektinspektor versucht. Egal ob ich im Query auf active oderim con auf connected
schalte, es kommt immer diese Meldung, lediglich unter den Zeos-Komp wird die Fehlermeldung mit SQL Error eingeleitet.
Norbert
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Fehlermeldung bei Zugriff über Postgresql

  Alt 7. Mär 2018, 09:16
Naja wenn Du mit dem Admintool drauf warst, geht es ja oder? Es gibt also kein grundsätzliches Konfigurationsproblem wie von mir beschrieben.
Die Frage ist, welche User Du verwendet hast.
M.E. wird bei der Installation von pg unter Windows ein eigener User angelegt, also ein lokaler Windows User. (Version 9 ist übrigens schon "sehr" alt, ich empfehle die aktuelle. Die verwendet allerdings eine andere Adminoberfläche mit der ich mich nicht so auskenne, andere Baustelle. Von PGAdmin gibt es eine LTS Version die immer noch installiert werden kann)
Hast Du andere User angelegt? Wie hast Du Dich initial angemeldet?
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Fehlermeldung bei Zugriff über Postgresql

  Alt 7. Mär 2018, 09:22
Hallo,

mal ganz banal:

Hast Du im OI bei der verwendeten DB-Connection Benutzername und Kennwort eingetragen?


Gruß
Frank
"Ich habe Dinge gesehen, die ihr Menschen niemals glauben würdet. Gigantische Schiffe, die brannten, draußen vor der Schulter des Orion" - Roy Batty
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: Fehlermeldung bei Zugriff über Postgresql

  Alt 7. Mär 2018, 09:27
Hast Du im OI bei der verwendeten DB-Connection Benutzername und Kennwort eingetragen?
Ja, wenn man von sqlite herkommt, wäre das auch möglich.
Gruß, Jo
  Mit Zitat antworten Zitat
EdAdvokat

Registriert seit: 1. Mai 2016
Ort: Berlin
414 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: Fehlermeldung bei Zugriff über Postgresql

  Alt 7. Mär 2018, 09:50
Nochmals zur Erklärung: ich habe die Tabelle Kunden mit dem Admin-Tool III von PG erstellt und kann im Admin-Tool darauf zugreifen und auch weitere
Kundendaten eintragen.(ist ja nur für mich zur Übung - keine operativen Daten)
Hier das SQL create: (aus einer Beschreibung für die Anlage einer entspr. Tab.)
Delphi-Quellcode:
-- Table: kunden

-- DROP TABLE kunden;

CREATE TABLE kunden
(
  kundennr integer NOT NULL,
  anrede character varying(20) NOT NULL,
  firma character varying(50),
  titel character varying(30),
  "name" character varying(30) NOT NULL,
  vorname character varying(30),
  email character varying(50) NOT NULL,
  passwort character varying(8) NOT NULL,
  kundeseit date NOT NULL,
  CONSTRAINT pk_kunden PRIMARY KEY (kundennr)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE kunden OWNER TO postgres;

Dann habe ich diese erstellte Datenbank nach C:\data\kunden.pgsql kopiert und greife mit den Zeos-Komp oder auch mit FireDac darauf zu.
Ebenfalls in c:\Data habe ich die libpq.dll gespeichert und greife mit den Zeos-Komp.im Con darauf zu.
Stelle ich Benutzername und Password im OI ein kommt folgende Errormeldung
Zitat:
---------------------------
Fehler
---------------------------
SQL Error: FATAL: Passwort-Authentifizierung f�r Benutzer �user� fehlgeschlagen.
---------------------------
OK Details >>
---------------------------
Im PG Admin-Tool ist PimaryKey pk_kunden auto eingestellt. Irgendeine Passwordeinstellung habe ich nicht gefunden.
Was ist mit den zuvor genannten config-Dateien. Die habe ich zwar in PG Data gefunden doch daraus werde ich nicht schlau. Muss ich da was einstellen?
Doch ich frage mich, wenn ich die DB-Tabelle unabhängig von PG in ein Verzeichnis C:\Data kopiert habe und über den OI von Delphi darauf zugreife ebenso
wie auf die libpq.dll wo soll denn da eine Passwordabfrage gespeichert worden sein?


Irgendwie soll es nicht werden.ist die Zeile von Belang? : ALTER TABLE kunden OWNER TO postgres; Er sagt da wohl dass die Tabelle Kunden Postgres gehöre oder?
Norbert
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#9

AW: Fehlermeldung bei Zugriff über Postgresql

  Alt 7. Mär 2018, 10:17
Ok, Postgres Dateien kopieren (also Datenbankfiles) machst Du niemals!
Die liegen da wo sie liegen. Punkt.

Das ist keine Filebasierte DB wie sqlite oder access oder auch firebird.

Es besteht auch keine Notwendigkeit dazu, der Server liefert die Daten unabhängig von der lokalen Lage an alles und jeden aus, den Du dazu berechtigst.

Falls Du mit dem Original noch arbeiten kannst, schau Dir die Verbindungseinstellungen der DB an und trage diese Daten in Deinen Client Komponenten ein. Also DB Name, Host, Port und schau was passiert.
Gruß, Jo
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#10

AW: Fehlermeldung bei Zugriff über Postgresql

  Alt 7. Mär 2018, 10:41
Nochmal als Ergänzung.
eine File basierte Datenbank benötigt als Zugriffsangabe natürlich einen Pfad.

Umgekehrt wird in einem Client Server System eben kein Pfad für Datenzugriff benötigt und angegeben.
Man addressiert den Rechner auf dem der Datenbankserver läuft, gibt einen Namen der Datenbank an (dort können mehrere liegen) und einen Port. (das ist je nach Hersteller immer etwas unterschiedlich, aber im Prinzip gleich)

Wie gesagt, wenn Du mit PG Admin arbeiten kannst, sind die Einstellungen der Config Files erstmal okay. Denn Du kommst ja mit einem Clientprogramm auf die Datenbank.

In PGAdmin kannst Du links im Objektbrowser deine lokale DB Verbindung anklicken und rechts im Tab Eigenschaften alle notwendigen Einträge ablesen, die in anderen Clients angegeben werden müssen zum connecten.

Wenn Du Kopien der Datenbank brauchst (Backup, Test, Ausprobieren), nimmst Du pgdump und erstellst damit ein Script / Dump, den Du unter anderem Namen wieder in deine lokale DB oder eine entfernte einspielst.

Hier ist eine knappe Variante beschrieben, es gibt da verschiedenste Möglichkeiten:
https://www.mkyong.com/database/back...umppg_restore/
Gruß, Jo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


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 01:19 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