Intentando un BCP en modo caracteres de una base de datos Sybase 11, me surge un error y no ejecuta nada.
El comando ejecutado fue este:
bcp sdp_db1..appl00_main in "/opt/bcpdir/bcp_moviles" -T -c -U sa -P sybase -S SYB_SDP5
Sin embargo el BCP in me contesta con numerosos errores, uno por linea, con el texto:
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.
El problema venía de que al tratar el fichero BCP de caracteres (en origen procedía de un servidor UNIX) en un editor de texto en mi PC me había cambiado los finales de linea de UNIX por los de windows.
Como el Windows nos hizo la jugada hemos tenido que cambiar el fin de linea en el comando BCP por defecto con la siguiente opción: -r “\n”
bcp sdp_db1..appl00_main in "/opt/bcpdir/bcp_moviles" -T -c -r "\r" -Usa -P sybase -S SYB_SDP5
Ahora entran las lineas sin problema.
Bueno, da un error:
Unexpected EOF encountered in BCP data-file.
5014193 rows copied.
Clock Time (ms.): total = 1049000 Avg = 0 (4779.97 rows per sec.)
Porque también cambio el final de fichero, pero no es grave y ejecuta el fichero completo (en este caso más de 5 millones de líneas).