SQL Server - Ayuda con BCP

 
Vista:

Ayuda con BCP

Publicado por MRPC (10 intervenciones) el 01/09/2010 19:55:57
Que tal , un buen día.
Me encuentro desarrollando un aplicación donde se requiere cargar un archivo txt, a la bd de sql 2005, la carga es correcta pero al monento de cambiar el nombre del archivo el bcp me genera un error porque no lo encuentra, lo que necesito es retornar el error que genero el bcp a la aplicación, alguien que me pueda ayudar..?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:Ayuda con BCP

Publicado por Isaias (4558 intervenciones) el 01/09/2010 22:24:22
Explica un poco mas el escenario, ¿En que momento le cambias el nombre?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con BCP

Publicado por MRPC (1 intervención) el 01/09/2010 23:52:56
Gracias por tu ayuda ,
Mira la idea es que se valide desde SQL si la carga no dio errores, me explico
tengo un directorio donde el administrator copiara el archivo todos los dias mediante un proceso batch con el el nombre xxxxxx_aaaammdd.txt a una hora xx del día , pero si el usuario que requiere subir los datos a la base no encuentra el archivo correspondiente al dia de hoy el bcp genere un error de este tipo.

-------------------------------------------------------------------------------------------------------------
SQLState = S0002, NativeError = 208
Error = [Microsoft][ODBC SQL Server Driver]BNo se puede abrir el archivo de datos host BCP.
NULL
--------------------------------------------------------------------------------------------------------------

de la misma forma ocurre cuando el administrador cambia de nombre al archivo o no cumple con el formato.

Lo que necesito es capturar el error que genero el bcp y convertirlo a un error que pueda manejar en la interfaz ya sea con errores manuales o del mismo sql la instruccion la tengo asi:

Set @Comando='Exec Master..xp_Cmdshell ''bcp "base..Mitabla" in "'+@cargaArchivo+'" -c -T'' '
Exec(@Comando)
if @@error != 0
return 4000241

@cargaArchivo es la direccion fija del archivo y retorno un error propio de la aplicación pero el @@error no reconoce que el bcp no se genero y no envia el return como puedo hacerlo..?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:Ayuda con BCP

Publicado por Isaias (4558 intervenciones) el 02/09/2010 17:33:51
Antes de intentar subir tu archivo, debes verificar que este exista en la ruta, de lo contrario, pues no ejecutas tu BCP
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con BCP

Publicado por MRPC (10 intervenciones) el 06/09/2010 19:31:33
Que tal gracias por tu colaboración, si estoy controlando eso a nivel de interfaz
pero lo quiero es que si existe un error al ejecutar el bcp yo pueda retornar el error producido.

NULL
Starting copy...
SQLState = 22005, NativeError = 0
Error = [Microsoft][ODBC SQL Server Driver]Valor de carácter no válido para especificación cast
NULL
4 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.): total 1
NULL

el
Error (Valor de carácter no válido para especificación cast)
es lo que deseo retornar alguna otra sugerencias..?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:Ayuda con BCP

Publicado por Isaias (4558 intervenciones) el 06/09/2010 22:03:28
Si no estas seguro de tus datos, subelos todos como VARCHAR y una vez arriba, los verificas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar