Breideric: Csv auf MSSqlübertragen

Guten Tag,
ich habe auch ein Problem mit dem MSSQL. Ich probiere Daten aus einem CSV.File zu übertragen. Es sind Grössere Datenmengen, nach ca. 30-60 ooo Datensätzen brechen die php-Scripts immer ab? Haben Sie eine Ide an was dies liegt, ich müsste die Daten alle 4 Stunden übertragen?
Ich Splitte erst das file mit 120 ooo Datensätzen in verschiedene csv-Dateien, da die gesamte nicht eingelesen wird? Ein anderes php-Script liest nun die verschiedenen Daten je 10 000 Datensätze ein.
Aber es werden nie alle Dateien übertragen in die DB. Haben Sie eine Idee? Kann ich mit einem Script nur eine bestimmte Anzahl Daten nach SQL übertragen.
Bitte um hilfe, ich komme einfach nicht mehr weiter....
Danke

  1. Hello,

    Aber es werden nie alle Dateien übertragen in die DB. Haben Sie eine Idee? Kann ich mit einem Script nur eine bestimmte Anzahl Daten nach SQL übertragen.

    PHP-Scripte haben eine maximale Laufzeit, max_execution_time
    http://de.php.net/manual/en/info.configuration.php#ini.max-execution-time
    die man mit set_time_limit() auch im Script einstellen kann.
    http://de.php.net/manual/en/function.set-time-limit.php

    Außerdem haben meisten die SQL-Schnittstellen eine maximale Anzahl für die zu importierenden Datensätze, so dass üblicherweise eine Schleife in Paketen zu 500 durchlaufen wird. Das ist aber von SQL-System zu SQL-System unterschiedlich. Das dahinterliegende DBMS könnte seinerseites wieder eine Begrenzung haben.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  2. Moin!

    PHP hat Beschränkungen hinsichtlich der maximalen Laufzeit und des maximalen Speichers pro Skriptdurchlauf. Werden diese überschritten bricht es ab.

    Diese Beschränkungen lassen sich - so man darf - in der php.ini konfigurieren.

    Mehr lässt sich nicht sagen, da Du Deinen Auskünften nach weder einen Blick ins error_log geworfen hast, noch Dir die Fehlermeldungen der Datenbank angeschaut hast. Es kann nämlich auch an den CSV-Dateien liegen- oder daran, dass Dein Skript diese falsch zerlegt.

    Zudem bin ich verwirrt weil Du Syntaxfehler machst - so dass ich nicht weiß wann Du fragst und was eine Aussage ist. Zudem habe ich keinerlei verwertbare Aussage über Dein Vorgehen.

    Wie soll ich da konkret helfen?

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix

    1. Sie Antworten aber sehr giftig? Es tut mir leid, dass ich Ihre Sprache nicht so perfekt behersche aber Danke allen die sich bemühten:
      Etwas an der php.ini rum spielen war tatsächlich die
      Lösung. Habe die max_execution_time, max_input_time
      und das memory_limit enorm vergrössert, nun läuft
      es.

      Danke und Gute Zeit
      Breideric