Necesito exportar algunos datos usando la utilidad BCP de SQL Server 2000. Algunas veces, mis datos contienen caracteres, como \ t y \ n, que necesito usar como terminadores de columna y fila. ¿Cómo hago para que BCP escape de los caracteres que utiliza como terminadores a medida que genera los datos, de modo que realmente puedo importar los datos en otro programa?Obteniendo bcp.exe para escapar de los terminadores
Por ejemplo, una de mis columnas son datos de texto e incluye pestañas y nuevas líneas. BCP simplemente los exporta tal como están, y el programa con el que intento importarlos se confunde porque los datos terminan en el medio de una línea y/o una línea contiene columnas adicionales sin motivo aparente.
Esto parece una muy, muy, muy función básica para incluir en un exportador de datos, pero ninguno de the command-line options parece mencionarlo. (Por qué no sería simplemente el predeterminado está más allá de mí.) ¿Me estoy perdiendo algo?
Tiene sentido, por ejemplo, al usar COPY FROM en PostgreSQL, convertirá la secuencia '\ n' en una nueva línea real en una columna de texto. Y lamentablemente no puedo especificar un delimitador de fila en PostgreSQL. – Kev
Además, aunque los diferentes terminadores son una solución, se está tardando * realmente * mucho tiempo en realizar los reemplazos posteriores a la consulta. Sería mucho mejor si BCP pudiera escapar de las columnas de texto correctamente. – Kev
Ni osql ni sqlcmd admiten esto tampoco. ¿Qué pasaría si tuviera un campo que termina en el carácter de escape, por ejemplo? Y si lees la información de PostgreSQL, menciona el escapado dudoso ... SQL Server es completamente predecible, ¿no? – gbn