Pregunta

Tengo problemas con el proceso de SQL BCP para cargar mis tablas con datos. Lo estoy llamando desde una aplicación .NET, así que ejecutar el ejecutable xp_cmdshell para ejecutar el comando bcp. Esto es lo que uno de estos comandos se parece a:

EXEC master..xp_cmdshell 'bcp "[D001Test.Restore].[dbo].[GeneralComments]" in "<DataFile>" -q -c -t "|_|" -r "|+~+|" -k -V80 -a33000 -E -STest'

Cuando el nombre de la base Estoy importando en (en este caso D001Test.Restore) tiene un "" en el nombre, el comando bcp falla. ¿Hay alguna forma de evitar esto? He tratado con y sin los corchetes. Voy a tener que importar los datos en una nueva base de datos y cambie su nombre por el nombre deseado después de que se hace.

¿Fue útil?

Solución

No es necesario el argumento -q y las comillas. La documentación lo siguiente sobre el argumento q:

  

Utilice esta opción para especificar una base de datos,   propietario, tabla o nombre de la vista que se   contiene un espacio o una sola cita   marca. Encerrar la totalidad de tres partes   tabla o vista nombre entre comillas   ( "").

Su nombre de base de datos contiene ni el espacio ni comilla simple.

Prueba esto:

bcp [D001Test.Restore].dbo.GeneralComments in "<DataFile>" -c -t "|_|" -r "|+~+|"
-k -V80 -a33000 -E -STest
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top