Buscar este blog

lunes, 1 de junio de 2009

IMPORTAR TABLA DE SQL EXPRESS 2005 A ARCHIVO DE TEXTO SEPARADO POR PIPES (|)

Nueva tarea asignada y tristemente fueron casi 13 horas investigando como hacer esta "dificil" :@ tarea, no soy de las personas que les agrada el no conocer una tecnologia y tomarse todo ese tiempo para saber que hacer.

Para realizar esto se necesita del comando bcp que viene como una utilidad por default al instalar el SQL Express 2005. Este proceso se realiza por completo en la consola de Windows, en este caso estoy utilizando Windows XP.

Cabe aclarar que para las versiones de SQL Express y Developer, no se puede ejecutar exitosamente este comando desde una computadora la cual no es la misma donde se encuentre la instancia del servidor donde esta la tabla de la base de datos que queremos exportar.

  1. Para iniciar abrimos la consola de Windows (Inicio -> Ejecutar -> cmd)
  2. En la consola de Windows abierta escribimos el siguiente comando:
bcp nombre_db.dbo.nombre_tabla out c:\nombre_archivo_destino.txt -S nombre_servidor -c -t"" -r \n -T -U user

Explicacion:
Primero se escribe el nombre de comando bcp.
Despues escribimos el nombre de la tabla que se desea exportar, iniciando con el nombre de la instancia de la base de datos donde se encuentra.
El texto out indica que se va a exportar la tabla.
Siguiente, se escribre el nombre del archivo destino, que es donde se guardaran los datos de la tabla.
El tag -S indica que se proveera el nombre del servidor de base de datos
El tag -c indica que se exportaran los datos de la tabla como carateres (esto lo recomiendo personalmente bastante)
El tag -t indica que se proveera del caracter para separar las columnas, en este caso el caracter sera el simbolo de pipe ()
El tag -r indica que se proveera el caracter de fin de linea, en este caso es el de fin de linea (\n)
El tag -T indica que se utilizara una trusted connection a la base de datos.
El tag -U indica que se proveera el nombre de usuario para conectar se a la base de datos.

Y listo hemos exportado la tabla seleccionada, utilizando como separador el caracter pipe ().


    Espero que esto le sea de ayuda a alguien mas, y que no tenga que pasar mas tiempo investigando por la red, el punto es hacer las cosas que alguien mas ya ha hecho lo mas rapido posible, para poder dedicar el tiempo a algo mas importante.

    No hay comentarios: