Ergebnis 1 bis 9 von 9

Thema: CSV-Datei hochladen

  1. #1
    nixdorf ist offline Benutzer
    Registriert seit
    14.12.2006
    Beiträge
    66

    Standard CSV-Datei hochladen

    Hallo,

    ich kann mit einer CSV-Datei immer nur begrenzt Daten hochladen. Maximal sind daß immer so 2000 - 3000 Datensätze. Meine ganze Datei hat aber 50000 Datensätze. Was kann ich da machen? Selbst wenn man die Datei in 3000 - Datensatz - Dateien zerstüdkelt, ist mir das zu viel Arbeit, da das öfters gemacht werden muß.

    Hat da noch wer eine Idee?



    Gruß Nixdorf

  2. #2
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.020

    Standard

    Zitat Zitat von nixdorf Beitrag anzeigen
    ich kann mit einer CSV-Datei immer nur begrenzt Daten hochladen. Maximal sind daß immer so 2000 - 3000 Datensätze.
    Gut, aber woher sollen wir wissen, warum du nur so 2000-3000 Datensätze hochladen kannst? Gibts da einen Grund oder eine Fehlermeldung?

    Ansonsten wird man dir nur schlecht helfen können ...
    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

  3. #3
    nixdorf ist offline Benutzer
    Registriert seit
    14.12.2006
    Beiträge
    66

    Standard

    Hallo,

    da kommt leider nur:

    No server supplied!


    Und das kann ja nicht sein, mit den kleineren Dateien mache ich ja genau das selbe.


    Gruß nixdorf

  4. #4
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von nixdorf Beitrag anzeigen
    Hallo,

    ich kann mit einer CSV-Datei immer nur begrenzt Daten hochladen. Maximal sind daß immer so 2000 - 3000 Datensätze.
    Nein. Da tut was flasch.

    Meine ganze Datei hat aber 50000 Datensätze. Was kann ich da machen? Selbst wenn man die Datei in 3000 - Datensatz - Dateien zerstüdkelt, ist mir das zu viel Arbeit, da das öfters gemacht werden muß.

    Hat da noch wer eine Idee?
    Wilde Vermutung: da ist PHP im Spiel und es schlägt ein Timeout zu. Aber, wie gesagt, ganz wilde Vermutung...


    Andreas


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

  5. #5
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.020

    Standard

    Zitat Zitat von nixdorf Beitrag anzeigen
    Hallo,

    da kommt leider nur:

    No server supplied!
    Ja, wo genau passiert das? Kannst du dir vorstellen, wie wir gerade unsere Glaskugeln polieren, aber nichts drin erkennen können? ;-)
    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

  6. #6
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von nixdorf Beitrag anzeigen
    Hallo,

    da kommt leider nur:

    No server supplied!


    Und das kann ja nicht sein, mit den kleineren Dateien mache ich ja genau das selbe.


    Gruß nixdorf
    Was machst Du genau wie?
    Ich bezweifle, daß eben dieser Fehler kommt, wenn Du mit psql mit COPY arbeitest. Schon probiert?


    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

  7. #7
    nixdorf ist offline Benutzer
    Registriert seit
    14.12.2006
    Beiträge
    66

    Standard

    Hallo,

    ich lade die Daten mit phppgadmin hoch. Ich klicke auf die Tabelle, dann auf Import. Dort wähle ich als Format CSV aus, gebe noch meine Datei an und dann klicke ich importieren an.

    Das klappt wie gesagt mit kleinen Datensäten nicht aber mit der ganzen Datei.

    PHP ist da wohl nicht mehr im spiel. Ein Script habe ich gar nicht.

    Ich könnte mir auch vorstellen, daß das mit einem Timeout zusammenhängen könnte. Ich habe versucht in der postgresql.conf den AUTHENTICATION_TIMEOUT und den DEADLOCK_TIMEOUT mal hochzusetzen. Danach pgsql neu gestartet, aber immer noch der selbe Fehler.

    No server supplied!


    Wie kann man den mit copy-Befehelen eine CSV-Datei in eine PGSql - Datenbank kopieren?


    Gruß Nixdorf
    Geändert von nixdorf (10.05.2007 um 10:59 Uhr)

  8. #8
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von nixdorf Beitrag anzeigen
    Hallo,

    ich lade die Daten mit phppgadmin hoch. Ich klicke auf die Tabelle, dann auf Import. Dort wähle ich als Format CSV aus, gebe noch meine Datei an und dann klicke ich importieren an.

    Das klappt wie gesagt mit kleinen Datensäten nicht aber mit der ganzen Datei.

    PHP ist da wohl nicht mehr im spiel. Ein Script habe ich gar nicht.
    PHP ist da sehr wohl im Spiel, vermute ich.
    php script timeout - Google-Suche

    Ich könnte mir auch vorstellen, daß das mit einem Timeout zusammenhängen könnte. Kann man das irgendwo einstellen, das man menr zeit hat für den uplaod?
    In der Konfig von PHP, siehe oben.

    Wie kann man den mit copy-Befehelen eine CSV-Datei in eine PGSql - Datenbank kopieren?
    Code:
    test=*# \h copy
    Command:     COPY
    Description: copy data between a file and a table
    Syntax:
    COPY tablename [ ( column [, ...] ) ]
        FROM { 'filename' | STDIN }
        [ [ WITH ]
              [ BINARY ]
              [ OIDS ]
              [ DELIMITER [ AS ] 'delimiter' ]
              [ NULL [ AS ] 'null string' ]
              [ CSV [ HEADER ]
                    [ QUOTE [ AS ] 'quote' ]
                    [ ESCAPE [ AS ] 'escape' ]
                    [ FORCE NOT NULL column [, ...] ]
    
    COPY tablename [ ( column [, ...] ) ]
        TO { 'filename' | STDOUT }
        [ [ WITH ]
              [ BINARY ]
              [ HEADER ]
              [ OIDS ]
              [ DELIMITER [ AS ] 'delimiter' ]
              [ NULL [ AS ] 'null string' ]
              [ CSV [ HEADER ]
                    [ QUOTE [ AS ] 'quote' ]
                    [ ESCAPE [ AS ] 'escape' ]
                    [ FORCE QUOTE column [, ...] ]
    
    test=*#
    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

  9. #9
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.020

    Standard

    Du hast, wie akretschmer schon richtig sagte, kein PostgreSQL sondern ein PHP Problem. Die Dateien werden so groß, dass Phppgadmin zu lange benötigt, um sie einzulesen. Irgendwann bricht entweder PHP ab oder was wahrscheinlicher ist, dein Browser. Warum? Weil er einfach in der Zeit keine Rückmeldung vom Server bekommt und denkt, da ist was schief gelaufen.

    Ich würde dir auch empfehlen, die Daten über eine direkte Verbindung mit psql einzulesen. Dann ersparst du dir den Ärger.
    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

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