Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: Lazarus-Anbindung an PG-Datenbank

  1. #11
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Clericer Beitrag anzeigen
    Danke für die schnelle Antwort
    Ich vermute mal, du meinst meine Antwort auf deine heutige Frage. Aber warum Du nun in einem komplett anderen Thread antwortest wird wohl Dein Geheimnis bleiben.

    Mit dem Primary key habe ich keine ahnung is das wenn ich auf design tabel gehe ob da ein Schlüssel ist oder nicht?
    Google ist dein Freund - , dort mal den Begriff eintippen.


    Und der Ahnhang ist nett, dass mit der Verschlüsselung weis ich schon nur kann ich mit set client_encoding = 'win1252' nichts anfangen da ich nicht weis wozu das ist, soll ich das im query analyzer compilieren oder was?

    Und wenn ich das mache dann kommt außerdem diese Fehlermeldung
    Line 1: Incorrect syntax near '='.

    Also wenn das möglich wäre und jemand weis wie das stupide für Idioten zu lösen ist dann wäre ich sehr dankbar.

    Auch wenn ich selbst ungerne Skript Kiddys unterstütze aber sql ist ne Nummer für sich.
    Dieses Kauderwelsch zu parsen ist mir nicht gelungen, sorry.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  2. #12
    marc9022 ist offline Erfahrener Benutzer
    Registriert seit
    19.05.2008
    Beiträge
    162

    Lächeln

    Zitat Zitat von Clericer Beitrag anzeigen
    Danke für die schnelle Antwort
    Mit dem Primary key habe ich keine ahnung is das wenn ich auf design tabel gehe ob da ein Schlüssel ist oder nicht?
    Also das Programm was Du da benutzt, generiert im Hintergrund SQL, denn nur das Versteht Postgres. Bei SQL gibt es jedoch zwei Abteilungen.Das sogenannte DDL und das DML. DDL Statements sind solche SQL-Abfragen wie z.B CREATE TABLE oder CREATE INDEX (DDL = Data Definition Language). Mit DML kann man Sachen wie SELECT * FROM adressen machen und Daten abfragen und z.B mit UPDATE oder INSERT manipulieren (DML = Data Manipulation Language).
    Mit dem DDL-STatement "CREATE PRIMARY KEY" wird auf eine bestimmte Spalte deiner Tabelle ein Index angelegt der dafür sorgen soll, das z.B via SELECT die
    Daten schnelle ermittelt und die ganze Abfrage insgesammt wesentlich schneller ausgeführt . Gerade im Bereich Performance spielen die Indexe eine außerordentliche und wichtige Rolle mit der Du Dich möglichst bald einmal beschäftigen solltest.
    nur kann ich mit set client_encoding = 'win1252' nichts anfangen da ich nicht weis wozu das ist, soll ich das im query analyzer compilieren oder was?
    Ich schätze was Zeichenkodierung ist weißt Du schon. Postgres gestattet es Dir die Daten in deinen Tabellen auf Basis eines von Dir festzulegenden Zeichensatz zu kodieren. Früher hat man sehr oft einfach nur ASCII genommen, das ist für amerikanische Wörter auch kein Problem aber mit deutschen oder skandinavischen Umlauten und Sonderzeichen gibt es da Stress.Um es kurz zu machen: Die meisten Leute benutzen heute einfach die Codierung UTF-8, diese muss jedoch vom DB-Server (also in deinem Fall Postgres) und dem Client Programm (dein Lazarus Programm) verstanden und daher vorher eingestellt werden und dazu gibt es mehrere Möglichkeiten, eine ist es das an der Befehlszeile zu tun oder sich gewisser Hilfsmittel zu bedienen. Ich vermute mal das Du mit dem hervoragenden Client Programm PGAdmin3 arbeitest (so wie ich auch) das nun ja mittlerweile in der Stadardinstallation unter Windows immer vom Postgresinstaller mitinstalliert wird, anstatt direkt auf der der Befehlsshell wie unsere meisten Hardcore/Poweruser hier im Forum.Geh doch mal bitte im PGAdmin3 auf deine Lazarus Datenbank und überprüfe den DDL Abschnitt der ungefähr so aussehen müsste:
    CREATE DATABASE mydb
    WITH OWNER = admin
    ENCODING = 'UTF8';
    Wenn da etwas anderes steht als UTF8 würde ich das an deiner Stelle auf UTF8 ändern (musst Du zwar nicht, empfehle Ich Dir aber) möglicherweise muss Du deine Daten noch auf UTF8 umstellen, z.B dann wenn es auch im PGAdmin3 beim selektieren der Daten hier zu Umlautproblemen kommt. Als nächstes gehe im
    PGAdmin3 bitte auf auf den Bereich "Login Rollen" und klicke den User mit Rechtsklick an mit dem sich dein Lazarus Programm verbindet möchte.Als nächstes siehst Du einige Reiter, einer davon heißt "Variablen", wechsel bitte in diesen.In der Rubrik Variablen siehst Du nun ein Dropdownfeld mit Namen Variablennamen, dort wähle bitte die Variable mit namen "CLIENT_ENCODING" aus und trage als Variablenwert utf8 ein und klicke zum Abschluss noch auf den Hinzu/Ändern Button damit die Einstellungen gesichert werden.Der Effekt ist nun, das immer wenn sich dein Lazarusprogramm von nun an mit Postgres über diesen User verbindet das Clientencoding auf UTF-8 eingestellt ist, ich vermute mal dass nun dein Umlaut und Sonderzeichen Darstellungsproblem mit deinem Lazarus-Programm gelöst sein sollte. Wenn dem nicht so ist, schaue bitte in der Lazarus IDE nach ob Du das Coding auf UTF umstellen kannst.
    Gruß, Marc
    Geändert von marc9022 (09.06.2009 um 11:43 Uhr)

  3. #13
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von marc9022 Beitrag anzeigen

    Mit dem SQL DDL CREATE PRIMARY KEY wird auf eine bestimmte Spalte
    ein Index angelegt
    Nein. SQL kennt keine Indexe. Das PG einen Primary key als unique index und not null abbildet, ist ein Implentierungsdetail von PG. Es könnte also durchaus passieren, daß Deine Aussage bei anderen DB-Systemen schlicht falsch ist.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  4. #14
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Zitat Zitat von akretschmer Beitrag anzeigen
    Nein. SQL kennt keine Indexe.
    Die Leute hier im Schulungsraum waren über das Detail auch ziemlich überrascht heute morgen. Ist halt nicht allgemein bekannt.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  5. #15
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von ads Beitrag anzeigen
    Die Leute hier im Schulungsraum waren über das Detail auch ziemlich überrascht heute morgen. Ist halt nicht allgemein bekannt.
    Empfehle halt Dein Buch. Da steht das drin.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  6. #16
    marc9022 ist offline Erfahrener Benutzer
    Registriert seit
    19.05.2008
    Beiträge
    162

    Standard

    Ich beziehe mich hier auf Postgres und das hier ist ein Postgres Forum und der Fragesteller stellte diese Frage im Zusammenhang mit Postgres. Darüber hinaus dürfte es auch Dir nicht entgangen sein, das die sogenannten Implementierugnsdetails bezüglich ANSI und ISO wohl von keinem DB Hersteller besonders ernst genommen wurden und werden, daher ist die Postgres Sichtweise, gerade weil Postgres sich noch besser an die Standards hält ganz sicher nicht schlechteste, gerade weil die Unterscheide bei den führenden, anderen RDBMS Systemen gar nicht mal so drastisch sind, wie Du hier gerade glaubhaft machen willst.
    Auf folgende Weise kann ich z.B

    MySQL:
    ALTER TABLE Customer ADD PRIMARY KEY (SID);

    Oracle:
    ALTER TABLE Customer ADD PRIMARY KEY (SID);

    MS-SQL Server:
    ALTER TABLE Customer ADD PRIMARY KEY (SID);

    CrossDB jeder Tabelle nachträglich einen Primary Key verpassen, wo what?
    Fachlich ist deine Aussage daher eher nichtssagend und für jemanden der von SQL nicht besonders viel Ahnung hat und das das ganze versucht erstmal mit einem GUI Frontend wie PGadmin3 zu verstehen nicht besonders hilfreich.
    Geändert von marc9022 (09.06.2009 um 11:42 Uhr)

  7. #17
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von marc9022 Beitrag anzeigen
    Ich beziehe mich hier auf Postgres und das hier ist ein Postgres Forum und der Fragesteller stellte diese Frage im Zusammenhang mit Postgres.
    Nein.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  8. #18
    marc9022 ist offline Erfahrener Benutzer
    Registriert seit
    19.05.2008
    Beiträge
    162

    Standard

    Zitat Zitat von akretschmer Beitrag anzeigen
    Nein.
    Andreas
    Aha. Wir sind also kein Postgres Forum? Ist ja mal ganz was neues

  9. #19
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von marc9022 Beitrag anzeigen
    Aha. Wir sind also kein Postgres Forum? Ist ja mal ganz was neues
    Doch. Aber der Fragesteller verwendet was anderes.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Problem GUILE Anbindung realisieren - wie?
    Von Deathstar im Forum Allgemeines
    Antworten: 4
    Letzter Beitrag: 05.08.2008, 16:31
  2. Antworten: 11
    Letzter Beitrag: 14.06.2008, 13:31
  3. libpqxx Anbindung?
    Von kpatrick im Forum Programmierung
    Antworten: 2
    Letzter Beitrag: 15.05.2007, 14:41
  4. Postgres-Anbindung mit C++
    Von Carmina im Forum Programmierung
    Antworten: 3
    Letzter Beitrag: 22.08.2006, 16:30
  5. Anbindung an Ansi-C
    Von PeeDee im Forum Programmierung
    Antworten: 15
    Letzter Beitrag: 15.02.2006, 14:56

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum