none
Crear un archivo .txt o .bat

    Pregunta

  • Tengo un tema de batch en mi empresa donde trabajo y necesito crear un archivo batch pero lo quiero crear desde del SQL2008 y no cel .net08 como podria hacer eh visto por comando BCP

    Alguna forma de crearlo por T-sql.

     

    Gracias.

    jueves, 29 de diciembre de 2011 0:09

Respuestas

  • Hola javb89,

    Seria bueno que expliques tu escenario, probablemente te podamos dar otras alternativas, ya que como dice Leandro, se podria evitar la creacion del bat si es que se creara otra cadena de conexion, claro esta respuesta es al aire porque se asume que es a otra fuente de datos y se desconoce el porque de crear un archivo bat con sentencias sql.

    Sobre tu consulta inicial, de crear un archivo batch podrias hacer con el usando el xp_cmdshell :

    http://social.msdn.microsoft.com/Forums/es-ES/sqlserveres/thread/99d6ab75-16c4-4f00-b076-02f0b9a44c9e

     

    Como consejo: Deberias evitar toda logica en el Servidor de BD:

    • Para crear archivos necesitaras permisos para ejecutar los comandos como para guardar los archivos y aqui hay un hueco de seguridad.
    • Las consultas y transacciones en el servidor de BD, la logica en tus capas de logica, cierto que las herramientas nos dan las funcionalidades pero debemos saber escoger y evaluar las ventajas y desventajas para implementarlas.

    Estas funciones de creacion de archivos deberia estar en tu capa de negocio, por ejemplo.

    Nos comentas como te fue.

    Saludos,


    Jonathan @zoom777
    jueves, 29 de diciembre de 2011 17:59

Todas las respuestas

  • La única forma que conozco es mediante BCP. Pero, esta pregunta deberías hacerla en el FORO de SQL Server, creo que ahí te será mas util encontrar las respuestas que necesitas.

    Nota: No he dicho que no exista otra forma, pero en el foro SQL quizás encuentres las respuestas.

    Foro MSDN de SQL Server

     


    Saludos desde República Dominicana. :)

    jueves, 29 de diciembre de 2011 0:18
  • pero porque esa limitacion de crear un archivo, ademas de ser espacial por tratarse de un .bnat esde un procedure del sql server?

    se supone que el codigo de la db no deberia tener tanta logica que escape a los necesiria para procesara datos del la propia db

    digo asi es como pienso como desarrollador, ahora si eres un DBA seguramente diga lo contrario

    desde mi punto de vista crear archivo en la db es no bueno, no es responsabilidad de la db realziar este tipo de tareas (nuevamente estoy viendolo con ojos de un desarrollador, no de un DBA)

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 29 de diciembre de 2011 2:35
  • es decir que seria mejor crearlo desde mi codigo en .net; lo que quiero hacer es mandar una consulat SQL , la cual va a contener un UPDATE y eso tengo que colocarlo en un .bat; ya que luego lo enviar a otro SERVER y ahi se ejecutara....

    Entonces mejro me creo mi .bat desde codigo .net y la consulta tbm...?

    jueves, 29 de diciembre de 2011 15:25
  • algo no me cierra

    como en un .bat vas a armar un UPDATE que se ejecute en otro servidor

    eso la verdad es muy raro

     

    lo que ahces es definir desde tu codigo un connection string para conectarte a ese servidor y ejecutar la query que necesitas

    saludos

     

     


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 29 de diciembre de 2011 15:27
  • Hola javb89,

    Seria bueno que expliques tu escenario, probablemente te podamos dar otras alternativas, ya que como dice Leandro, se podria evitar la creacion del bat si es que se creara otra cadena de conexion, claro esta respuesta es al aire porque se asume que es a otra fuente de datos y se desconoce el porque de crear un archivo bat con sentencias sql.

    Sobre tu consulta inicial, de crear un archivo batch podrias hacer con el usando el xp_cmdshell :

    http://social.msdn.microsoft.com/Forums/es-ES/sqlserveres/thread/99d6ab75-16c4-4f00-b076-02f0b9a44c9e

     

    Como consejo: Deberias evitar toda logica en el Servidor de BD:

    • Para crear archivos necesitaras permisos para ejecutar los comandos como para guardar los archivos y aqui hay un hueco de seguridad.
    • Las consultas y transacciones en el servidor de BD, la logica en tus capas de logica, cierto que las herramientas nos dan las funcionalidades pero debemos saber escoger y evaluar las ventajas y desventajas para implementarlas.

    Estas funciones de creacion de archivos deberia estar en tu capa de negocio, por ejemplo.

    Nos comentas como te fue.

    Saludos,


    Jonathan @zoom777
    jueves, 29 de diciembre de 2011 17:59
  • Uhm interesante creo que esa idea de crearo dede el mismo SQL me va a dar complicaciones con lo qu eme didjiste de los permisos talves no ahora pero si mas adelante.... sera mejro que lo cree desde mi codigo .net

     

    Gracias.

    jueves, 29 de diciembre de 2011 20:38