Ejecutar lote sql desde ado

10/08/2004 - 21:47 por Carlos A. Díaz | Informe spam
Hola, estoy intentando ejecutar un lote de instrucciones sql contra un
SQLSERVER y estoy intentando usar el procedimiento execute del objeto
connection de ado, pero no me da resultado, el lote seria masomenos asi:
(fue creado con el asistente)

USE GestCor
GO

if not exists (select * from master..syslogins where name N'GestCorProgram')
BEGIN
declare @logindb nvarchar(132), @loginlang nvarchar(132) select @logindb N'GestCor', @loginlang = N'Español'
if @logindb is null or not exists (select * from master..sysdatabases where
name = @logindb)
select @logindb = N'master'
if @loginlang is null or (not exists (select * from master..syslanguages
where name = @loginlang) and @loginlang <> N'us_english')
select @loginlang = @@language
exec sp_addlogin N'GestCorProgram', '[pwd]' , @logindb, @loginlang
END
GO

Pero cuando paso esta cadena, me da error, intente con sp_executesql y
tampoco, me podrian decir como seria para ejecutar ese lote desde el execute
de objeto connection y vb.

Saludos

Gracias

Preguntas similare

Leer las respuestas

#6 SoftJaén
11/08/2004 - 13:32 | Informe spam
"Lluís Franco" escribió:

Bue... lo de Florentino con el pobre Etoo no tiene nombre,
pobre chavál... ¡que juegue dónde quiera! Si sólo falta que
le encadenen los tobillos y le pongan una argola al cuello,
¡cachis!



Con la mitad de lo que gana Eto'o me conformo, Lluís. Y en Liverpool tiene
un puesto asegurado para jugar. Además es lo que quiere el propio jugador:
un equipo grande y que juegue la "Champions". ¿Que más quiere? ;-)

Y lo de Owen... con un par! si señor! 30 kilotes por un tio
que (como Raul) ya está en declive... ¡mú bien!



También decías que Ronaldo estaba muy gordo. :-)))


Enrique Martínez
[MS MVP - VB]
http://mvp-access.com/softjaen/
Respuesta Responder a este mensaje
#7 Carlos A. Díaz
11/08/2004 - 22:10 | Informe spam
Muchas gracias Franco, cosa de nada probe con todo y estaba ahi en esa
pavada, pasa que lo hice con el asistente de SQL y le pone el GO.
Nuevamente gracias

Carlos

"Lluís Franco" escribió en el mensaje
news:
Hola Carlos,
Es comando GO no es propio de T-SQL y solo es reconocido por el cliente


sql.
[...] "GO is not a Transact-SQL statement; it is a command recognized by


the
osql and isql utilities and SQL Query Analyzer..."

Private Sub Command1_Click()
Dim oCon As New ADODB.Connection
Dim sSQL As String
oCon.Open _
"Provider=SQLOLEDB.1;" & _
"Persist Security Info=False;" & _
"User ID=sa;" & _
"Initial Catalog=pubs;" & _
"Data Source=SERV_SQL"

sSQL = sSQL & "USE Pubs "
sSQL = sSQL & "SELECT * FROM authors "
sSQL = sSQL & "USE Northwind "
sSQL = sSQL & "SELECT * FROM Customers"

oCon.Execute sSQL
oCon.Close
Set oCon = Nothing
End Sub

Acabo de probar este lote y funciona perfectamente, así que prueba a


quitar
GO de tu SQL y ya me contarás...
Saludos,

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]

FIMARGE, S.A.
Principat d'Andorra

Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en: http://tinyurl.com/4nbnb

This posting is provided "AS IS" with no warranties, and confers no


rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho

(Guía de netiquette del foro)
http://www.uyssoft.com/Netiquette/



Respuesta Responder a este mensaje
#8 Carlos A. Díaz
11/08/2004 - 22:16 | Informe spam
Gracias Sofjaen, solo queria aclararte algunas cosas:

Hola, Carlos:

No estoy yo muy puesto en T-SQL, pero como tampoco has indicado el error


que
obtienes, me da a mí que pensar que las palabras claves USE y GO, no se
pueden utilizar para ejecutar una consulta mediante el método «Execute»


del
objeto «Connection», ya que creo que son palabras reservadas del


«Analizador
de consultas», pograma cliente que se acompaña con la licencia de


Microsoft
SQL Server 2000.



segun la ayuda sobre Execute:

Ejecuta la consulta, instrucción SQL, procedimiento almacenado especificados
o texto específico del proveedor.

...por lo tanto esas son instrucciones propias del proveedor (excepto GO
como dijo Franco) y por lo tanto son válidas.


Prueba a quitar dichas palabras, porque para utilizar la base de datos
«GestCor», solo basta que especifiques dicha base en el parámetro «Initial
Catalog» de la cadena de conexión del objeto «Connection». Aparte, deberás
de delimitar bien las líneas de la consulta para que se adapten a una


cadena
alfanumérica de Visual Basic.



Lo que pasa es que estaba creando la db y no queria cerrar y abrir otra
conexion :-)

Te dejo un ejemplo que he adaptado de los Libros en Pantalla, para que
observes cómo se escribiría la consulta para crear, en este caso, una


nueva
base de datos:

cnn.Execute "CREATE DATABASE Sales " & _
"ON " & _
"( NAME = Sales_dat," & _
"FILENAME = 'C:\Archivos de programa\...\saledat.mdf'," &


_
"SIZE = 10," & _
"MAXSIZE = 50," & _
"FILEGROWTH = 5 )" & _
"LOG ON" & _
"( NAME = 'Sales_log'," & _
"FILENAME = 'D:\Archivos de programa\...\salelog.ldf'," &


_
"SIZE = 5MB," & _
"MAXSIZE = 25MB," & _
"FILEGROWTH = 5MB )", , adCmdText

NOTA: En los parámetros «FILENAME» deberás de escribir la ruta completa
donde desees crear la base de datos.



El tema es que esa es una instruccion y no un lote, que era con el que tenia
problema.


En fin, no sé si será la solución a tu problema, pero menos da una piedra.
:-)

Un saludo



Como siempre, solo tu respuesta es una piedra, muchas gracias

Carlos


Enrique Martínez
[MS MVP - VB]
http://mvp-access.com/softjaen/

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado


o
sugerido en el presente mensaje.






Respuesta Responder a este mensaje
#9 Lluís Franco
11/08/2004 - 23:54 | Informe spam
Pues señores... acabo de oir por la radio que Etoo ya es del Barcelona, así
que como no compréis al Owen vendiendo las 'pelotillas' de entre los pies de
Beckam (por aquello de jugador mediático...)
XDDD

La verdad es que, bromas aparte, por la cuarta parte de lo que cobra un tio
de estos, juego el partido y luego recojo la mugre y paso la fregona al
estadio... y hasta vendo bocadillos en la media parte!

Saludos,
Lluís Franco (en casa)
MS MVP MCP VB
Respuesta Responder a este mensaje
#10 SoftJaén
12/08/2004 - 09:49 | Informe spam
"Lluís Franco" escribió:

Pues señores... acabo de oir por la radio que Etoo ya es
del Barcelona, así que como no compréis al Owen
vendiendo las 'pelotillas' de entre los pies de
Beckam (por aquello de jugador mediático...)



Sí, parece ser que se han puesto de acuerdo el Barcelona y el Real Madrid.
Pero le va a salir más caro el jugador al Barcelona. :-))

http://www.marca.es/edicion/noticia...05,00.html

En cuanto a Owen, diez millones lo separan, por ahora, del Real Madrid.


La verdad es que, bromas aparte, por la cuarta parte de lo que
cobra un tio de estos, juego el partido y luego recojo la mugre
y paso la fregona al estadio... y hasta vendo bocadillos en la
media parte!




En esa cuestión, creo que estamos todos de acuerdo. :-)


Enrique Martínez
[MS MVP - VB]
http://mvp-access.com/softjaen/

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida