+ Antworten
Ergebnis 1 bis 2 von 2

Thema: postgres sql pgAdmin3 Serververgindung

  1. #1
    Mr.Trent ist offline Neuer Benutzer
    Registriert seit
    17.05.2008
    Beiträge
    1

    Standard postgres sql pgAdmin3 Serververgindung

    Hallo ,

    habe folgendes Problem:

    Betreibe unter WinXP SP2 Postgres SQL, halt die 8.3 Version die man auf der
    PostgreSQL: The world's most advanced open source database Seite bekommt.
    Habe Postgres mit erweiterung installiert, also ecpg EMBEDDED SQL für c.
    Libs, DLLs und Header sind am richtigen Ort.
    Das Arbeiten mit der DOS-Konsole funktioniert wunderbar, ich kann Tabellen erstellen usw...,Der Dienst (Server läuft auch, sonst könnte ich ja
    keine Tabellen und DBen erstellen.
    Benutze pgAdmin III und habe die folgende Einstellung:

    Beschreibung: server
    Server (Hostname): 127.0.0.1
    Port: 5432
    Verschluesselung: keine
    Wartungs-DB: postgres
    Benutzername: test
    Passwort speichern? jaVorherge Umgebun wiederherstellen: ja
    Versionstring: PostgreSQL 8.3.1 compield by Visual C++ build 1400
    Lezte System-OID: 11510
    Verbunden? Ja
    Autovaccum: läuft

    Verwende jezt EMBEDDES SQL, habe mir auch eine db.pgc Datei erstellt und mit dem Befehl " ecpg db.pgc" daraus eine db.c erhalten, den Code aus der db.c habe ich mir mit Strg + c herauskopiert und in ein Visual Studio Projekt eingefügt, Linker habe ich auch richtig gesezt, habe auf Projekt erstellen geglick und dannach auf "starten ohne deguggen", es wurde alles compiliert, gelinkt ... perfekt.

    Der Code der in der db.pgc steht sieht so aus:


    Code:
    #include <stdio.h>
    
    
    EXEC SQL INCLUDE sqlca;
    
    
    
    void main(int count, char **st)
    {
     
        EXEC SQL BEGIN DECLARE SECTION;
        
        EXEC SQL END DECLARE SECTION;
    
        EXEC SQL CONNECT TO '127.0.0.1:5432' 
            AS conname USER "test" USING "none";
      
     if( SQLCODE != 0)
            printf("verbindung :-(");
        else
            printf("verbindung :-)");
      
    }
    
    Der Code der in der If-Anweisung steht prüft ob die Verbindung aufgebaut wurde.

    nach dem Befehl "ecpg db.pgc" erhielt ich die Datei db.c mit dem Inhalt:

    Code:
    /* Processed by ecpg (4.2.1) */
    /* These include files are added by the preprocessor */
    #include <ecpgtype.h>
    #include <ecpglib.h>
    #include <ecpgerrno.h>
    #include <sqlca.h>
    /* End of automatic include section */
    
    #line 1 "db.pgc"
    
    #include <stdio.h>
    void db_login(void);
    void db_logout(void);
    void db_begin(void);
    void db_commit(void);
    void db_rollback(void);
    
    
    
    #line 1 "C:/Programme/PostgreSQL/8.3/include/sqlca.h"
    #ifndef POSTGRES_SQLCA_H
    
    
    #endif
    
    #line 10 "db.pgc"
    
    
    
    
    void main(int count, char **st)
    {
     
        /* exec sql begin declare section */
        
        /* exec sql end declare section */
    #line 19 "db.pgc"
    
    
        { ECPGconnect(__LINE__, 0, "127.0.0.1:5432" , "test", "none" , "conname", 0); }
    #line 23 "db.pgc"
    
      
     if( SQLCODE != 0)
            printf("verbindung :-(");
        else
            printf("verbindung :-)");
      
    }
    
    Dies war der Code den ich in das VS-Project eingefügt und compielirt hatte, es hat auch funktioniert, leider kommt bei mir immer die Ausgabe
    "verbindung :-(" , das bedeutet keine Verbindung wurde zur Datenbank aufgebaut, meine Frage ist jezt wieso nicht?
    Ist eine Verbindung mit einem postgres Server unter WinXP nicht möglich?

    Ich hoffe ihr könnt mir helfen, danke im Voraus.


    Ha, hat sich erledigt, obwohl der Server mit dem Hostnamen 127.0.0.1 (Loopback Addresse) angeblich erreichbar ist erhatle ich eine Verbindung wenn, ich anstatt der Server-Addresse (Hostnamen 127.0.0.1) "postgres" als target eingebe.
    Kann das Jemand erklären?

    ps: Was ist ein Cluster?. Nachdem ich einen weiteren User erstellt habe, wie verwende ich ihn, wie kan nich mit der DOS-Konsole unter dem neun User arbeiten?
    Geändert von Mr.Trent (18.05.2008 um 02:01 Uhr)

  2. #2
    akretschmer ist offline Erfahrener Benutzer
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    4.478

    Standard

    Zitat Zitat von Mr.Trent Beitrag anzeigen
    Hallo ,

    ps: Was ist ein Cluster?. Nachdem ich einen weiteren User erstellt habe, wie verwende ich ihn, wie kan nich mit der DOS-Konsole unter dem neun User arbeiten?
    Cluster? Je nach Zusammenhang die Gesamtheit der einzelnen Datenbanken eines Servers oder ein Befehl um eine Tabelle entsprechend einem Index zu clustern.

    Mit 'DOS-Konsole' meinst Du jetzt sicherlich psql, und dieses hat eine man-page. Keine Ahnung, wie man die auf Kleinweich zu sehen bekommt, egal. Also, Du kannst mit -U einen Usernamen spezifizieren.


    Andreas
    --
    Papa-Kind-Kur vom 8. bis 29. September ;-)
    PostgreSQL Hosting
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    http://www.amazon.de/gp/registry/2APKFICAIYMWB
    https://www.xing.com/profile/Andreas_Kretschmer7

+ Antworten

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