none
No me acepa el comando GO RRS feed

  • Pregunta

  • Hola a todos tengo una aplicación la cual quiero crear una utilería para crear bases de datos con toda su configuración de tablas etc. tengo una base de ejemplo le genero un script con el management de crear toda la base y lo guardo en un archivo .sql, pero eso quiero ejecutarlo desde la aplicación en una ejecución Ado.net ya habilite el xp_cmdShell y tengo la variable de cadena que es el script cargado en una variable tipo string todo bien hasta ahi pero al ejecutar el comando ado.net me devuelve errores como que no reconoce el comando GO y sin embargo esa linea asi tal cual la copio y la pego en una nueva consulta en el management con xp_cmdShell y funciona perfecto no debería de ser lo mismo? de antemano muchas gracias por su ayuda

    Mi variable de cadena para el comando

    "xp_cmdShell  ''"& variable tipo string donde viene todo mi archivo creado con el script &"''"

    • Cambiado Joyce_AC miércoles, 12 de julio de 2017 14:40
    miércoles, 12 de julio de 2017 6:45

Respuestas

  • El problema esta en que la palabra GO no es un comando o sentencia de T-SQL, en otras palabras que este no es reconocido por el parseador de queries.

    Esta palabra solo es reconocida por SSMS como un delimitador de batch (grupo de sentencias) y tal es asi que en SSMS puedes cambiarlo y usar otra palabra cualquiera.

    Si en SSMS vas al menu Tools - Query Execution, encontraras la opcion "Batch separator" y si le pones por ejemplo JODER, entonces esa palabra sera el nuevo delimitador y podras escribir en una ventana de query lo sgte:

    select @@VERSION as [version];
    JODER

    Presionas F5 y vuola, no habra error alguno. Pero ahora si escribes:

    select @@VERSION as [version];
    GO

    entonces obtendras el error:

    Msg 102, Level 15, State 1, Line 2
    Incorrect syntax near 'GO'.

    Ya que SSMS no sabe quitar esta palabra (GO) antes de enviar el texto (batch) al parseador de queries.

    Recuerda revertir el cambio y cerrar las ventanas de queries existentes para que la proxima vez SSMS reconozca el nuevo delimitador de batch.


    AMB

    Some guidelines for posting questions...

    AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas




    • Editado HunchbackMVP jueves, 13 de julio de 2017 13:30
    • Marcado como respuesta Loubet_dan jueves, 13 de julio de 2017 15:18
    jueves, 13 de julio de 2017 13:26

Todas las respuestas

  • y si quitas todos los GO? yo utilizo el servicio de somee.com y tampoco me acepta los go. Solo los remuevo y se soluciona
    miércoles, 12 de julio de 2017 23:46
  • El problema esta en que la palabra GO no es un comando o sentencia de T-SQL, en otras palabras que este no es reconocido por el parseador de queries.

    Esta palabra solo es reconocida por SSMS como un delimitador de batch (grupo de sentencias) y tal es asi que en SSMS puedes cambiarlo y usar otra palabra cualquiera.

    Si en SSMS vas al menu Tools - Query Execution, encontraras la opcion "Batch separator" y si le pones por ejemplo JODER, entonces esa palabra sera el nuevo delimitador y podras escribir en una ventana de query lo sgte:

    select @@VERSION as [version];
    JODER

    Presionas F5 y vuola, no habra error alguno. Pero ahora si escribes:

    select @@VERSION as [version];
    GO

    entonces obtendras el error:

    Msg 102, Level 15, State 1, Line 2
    Incorrect syntax near 'GO'.

    Ya que SSMS no sabe quitar esta palabra (GO) antes de enviar el texto (batch) al parseador de queries.

    Recuerda revertir el cambio y cerrar las ventanas de queries existentes para que la proxima vez SSMS reconozca el nuevo delimitador de batch.


    AMB

    Some guidelines for posting questions...

    AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas




    • Editado HunchbackMVP jueves, 13 de julio de 2017 13:30
    • Marcado como respuesta Loubet_dan jueves, 13 de julio de 2017 15:18
    jueves, 13 de julio de 2017 13:26
  • Gracias Mejor Respuesta no hubiese tenido y muy explicativa y si ya vi una manera de usar un script generado por el Management aunque tengo que generar ciclos 
    jueves, 13 de julio de 2017 15:20