Sybase bcp-Fehler

Was ich tun will, ist das kopieren einer Tabelle in eine Datei, kürzen Sie die Tabelle und kopieren Sie die Daten zurück in die Tabelle.

Dafür bin ich mit den folgenden beiden Befehlen:

Out: bcp TABLE out file.csv -S SERVER -U user -P password -r '\n' -t '^|' -c
In: bcp TABLE in file.csv -S SERVER -U user-P password-r '\n' -t '^|' -c -J iso_1 -b 5000

Dies ist die Fehlermeldung die ich bekomme:

CSLIB Message: - L0/O0/S0/N36/1/0:
cs_convert: cslib user api layer: common library error: The result is truncated because the conversion/operation resulted in overflow.

Den interessanten Teil ( für mich zumindest ) ist, dass ich den Fehler nur für die Zeilen mit der ersten Spalte ein UNGERADE Anzahl. Aus den ersten 3 Millionen Zeilen, es schneidet die Hälfte von Ihnen, alle mit der ersten Spalte ( die PK ) eine ungerade Zahl ist.

Ich versucht, mit verschiedenen Optionen, aber keiner scheint zu arbeiten: kein problem mit den charset soweit ich das beurteilen kann, gibt es keine großen Spalten, so dass Sie abgeschnitten sind, und es ist nicht die carriage return fehlt.

Jegliche Hilfe würde sehr geschätzt werden.

UPDATE: Nach dem erstellen einer format-Datei gibt es keine Fehler mehr, aber er kopiert nur die Hälfte der Daten wieder in der Tabelle.

UPDATE: habe ich es geschafft, ein format zu erstellen-Datei, die funktioniert und lädt alle Daten, aber ich kann nicht verwenden Sie es auf einem anderen server (es funktioniert in der Testumgebung, die es braucht, um in der Produktion-Umgebung), da heißt es Attempt to read an unknown version of bcp format-file.? Ich weiß, was das bedeutet, aber gibt es irgendeinen Weg zu finden, die richtigen Werte von der version?

GELÖST: Nach dem Graben wieder in der Datenbank, es scheint, dass das problem war in der Tat Dateninkonsistenz aufgrund der Tatsache, dass die VIEW in der Produktion verwendet zum kopieren der Tabelle nur kopiert 25 Spalten, aber die Tabelle mit 26 Spalten ( jemand veränderte die Tabelle und ich wusste nicht, und hatte nicht bemerkt, dass es passiert ist ). Feste der View und jetzt funktioniert es.

InformationsquelleAutor andreih | 2013-08-07

Schreibe einen Kommentar