Sqlite sql statement Länge



  • Hallo zusammen

    Ich habe ein SQlite DB (V3.7.6) in welche ich Werte per SQL Anweisung eintrage (sqlite3_exec()).
    Da es sich teilweise um sehr lange Strings handeln kann, wird das SQL Statement schon mal ein paar tausend Zeichen lang.
    Bei einer Statement Länge von ca. 3500 Zeichen bekomme ich beim Ausführen von sqlite3_exec() eine Zugriffsverletzung.
    Wenn ich die Doku usw richtig verstanden habe sollte die Länge des Statements bzw der "Speicherplatz" in der entsprechenden Spalte kein Problem sein.
    An den Limits habe ich nichts geändert.

    Wenn ich versuche in sqlite3_exec() mit dem Debugger rein zu steppen, sehe ich zwar C-Code, jedoch dieser passt definitive nicht zum dem was ausgeführt wird, da selbst bei langen Kommentaren Breakpoints möglich sind.

    Als IDE verwende ich C++ Builder 2010.
    Hat irgendjemand irgendwelche Ideen?

    Mfg Stephan



  • ist sicher, dass alles in deinem sql statement stimmt?
    mache es doch mal mit mehreren sql-befehlen und schau, ob es immer noch eine zugriffsverletzung gibt



  • @vario-500

    Eigentlich bin ich mir schon sicher das das sql statement stimmt, da dies von einem Macro gebildet wird, und es ja bei kürzeren Strings funktioniert.
    Werde es jedoch morgen mal ausprobieren.



  • Also momentan sieht es doch so aus, daß es nicht an SqLite liegt sondern an etwas anderem in meinem Program ist.



  • dann zeig mal code her, der diesen fehler reproduziert,wenn du dir sicher bist, dass es nicht am sgl-statement liegt 😃



  • @vario-500
    Danke für das Angebot.
    Habe allerdings herausgefunden, daß mein sqlite3_profile() Funktion die Zugriffsverletzung durch eine Log-Funktion verursacht welche vsnwprintf() mit %S verwendet.
    Das eigentliche Problem findest Du hier: http://www.c-plusplus.net/forum/295756

    MfG Stephan


Anmelden zum Antworten