toolpack script generate generar from ejemplos ejecutar datos con sql-server sql-server-2005

sql server - generate - ¿Cómo llamar a un script SQL desde otro script SQL?



sqlcmd parameters (3)

Quiero llamar a una serie de scripts .sql para crear la estructura de la base de datos inicial

  1. script1.sql
  2. script2.sql etc.

¿Hay alguna forma de hacerlo sin sqlcmd o procedimientos almacenados o cualquier otro tipo de código que no sea sql ? justo dentro de un archivo .sql.


Por supuesto. Simplemente cree una pequeña aplicación que obtenga todos los archivos .sql que desee y los ejecute. Hazlo en VB.NET de la siguiente manera:

Sub ExecuteSqlScript(FilePath As String) Dim Script As String Dim FileNumber As Integer Dim Delimiter As String Dim aSubscript() As String Dim Subscript As String Dim i As Long Delimiter = ";" FileNumber = FreeFile Script = String(FileLen(FilePath), vbNullChar) '' Grab the scripts inside the file Open FilePath For Binary As #FileNumber Get #FileNumber, , Script Close #FileNumber '' Put the scripts into an array aSubscript = Split(Script, Delimiter) '' Run each script in the array For i = 0 To UBound(aSubscript) - 1 aSubscript(i) = Trim(aSubscript(i)) Subscript = aSubscript(i) CurrentProject.Connection.Execute Subscript Next i End Sub

Ejemplo de: http://snipplr.com/view/3879/run-sql-script-from-external-file/


No hay ninguna razón para excluir los procedimientos almacenados. No necesita incluir "ningún otro tipo de código que no sea sql", más

EXEC someothersp

que se requerirá (o su equivalente) en cualquier otra solución.

¿Cuál es su razón para excluirlos? Creo que es mejor que escribir código en otro idioma.


puedes intentar esto:

exec master..xp_cmdshell ''osql -E -ix:/path/filename.sql''

osql debe estar en la ruta, se debe conocer el nombre completo del archivo y los inicios de sesión deben configurarse correctamente (opciones -E o -U)