Hola Carlos

Tu problema no es al correr desde Net, es al armar la cadena de texto con el 
query.
No estas agregando el CRLF donde termina la linea que incluye los dos guiones. 
El SQL recibe eso que mandas e interpreta los guiones como comentario y hasta 
el final del query.
Revisalo, creo que es eso. 

Saludos

Daniel Calvin
Enviado desde mi BlackBerry de Movistar (http://www.movistar.com.ar) 

-----Original Message-----
From: "Carlos A. Schroeter" <[email protected]>
Sender: [email protected]
Date: Tue, 21 Sep 2010 00:37:31 
To: <[email protected]>
Reply-To: [email protected]
Subject: [puntonet] Fwd:  Corriendo script sql desde visual .net

Disculpas mil....estaba mal la sentencia, por eso el error
Lo que no puedo evitar es que se consideren como defecto cuando el 
script tiene comentarios (--este es un comentario). Los mismos 
ejecutados desde el administrador de consultas de SQL estan ok...pero 
corridos desde .NET no
Disculpas de nuevo

*Carlos A. Schroeter
*

-------- Mensaje original --------
Asunto:         [puntonet] Corriendo script sql desde visual .net
Fecha:  Mon, 20 Sep 2010 18:47:55 -0300
De:     Carlos A. Schroeter <[email protected]>
Responder a:    [email protected]
Organización:   Prodytec S.A.
Para:   <[email protected]>



  Hola Grupo
Estoy guardando en una variable cada sentencia sql que se encuentra en
diferentes script, y los ejecuto desde mi aplicacion .NET
El tema es que algunos provocan la devolucion de error.
Les paso el ejemplo de uno de los que da error

Dim odatos = New SqlConnection(Micadena)
odatos.Open()
Dim correr As String = "if not exists (select * from dbo.sysobjects
                                         where id =
object_id(N'[crm_Vista_Campanias]') and
                                         OBJECTPROPERTY(id,
N'IsUserTable') = 1)
                                         begin
                                             CREATE TABLE
[dbo].[crm_Vista_Campanias] (
                                               [IDvista] int NULL,
                                               [idCampania] int NULL
                                                 )
                                             ON [PRIMARY]
                                         end "
Dim Comando As New SqlClient.SqlCommand(correr.Trim, odatos)
Comando.CommandType = CommandType.Text
Comando.Transaction = myTrans
Comando.ExecuteNonQuery()

El error dice SINTAXIS INCORRECTA ACERCA DE '[crm_Vista_Campanias]'

Creo que son las comillas simples.....alguna idea? otra manera de correr
script de sql?
Muchas Gracias

Carlos A. Schroeter




Responder a