Weil diese Importsachen in der Praxis so kompliziert sein können:
- Wenn ein Text TAB oder CR/LF enthält, stört das das BCP gar nicht?
- Sollten die Hexzeichen nicht mit 0x eingeleitet werden?
- Sollten nicht Floats auch in Standard-US-Format gebracht werden?
Das gezeigte Beispiel entstammt einer konkreten Portierung von NexusDB nach
MSSQL, erhebt keinen Anspruch auf Vollständigkeit und deckt vermutlich auch nur den damals tatsächlich importiereten Datenbestand ab. Es ist aber leicht ersichtlich, wo und wie die übrigen Fälle behandelt werden müssen. Für genauere Spezifikationen des erwarteten Formats verweise ich jetzt einfach mal auf die Dokumentation zu BCP.
Zu den konkreten Fragen:
- In dem Fall muss man halt andere Feld- bzw. Record-Trennzeichen(-folgen) definieren, die nicht zu Kollisionen mit dem Datenbestand führen.
- Nicht wenn das Feld in
MSSQL als VARBINARY angelegt ist. Andernfalls wäre die Hexdarstellung auch wohl nicht geeignet.
- Vermutlich ja, aber das war in diesem Fall schon von der Einstellung in Windows vorgegeben.