我想打电话给一系列的.sql脚本来创建初始数据库结构如何从另一个SQL脚本中调用SQL脚本?
- script1.sql
- script2.sql 等
有没有这样做没有任何办法sqlcmd或存储过程或任何其他类型的代码是不是sql? 就在.sql文件中。
我想打电话给一系列的.sql脚本来创建初始数据库结构如何从另一个SQL脚本中调用SQL脚本?
有没有这样做没有任何办法sqlcmd或存储过程或任何其他类型的代码是不是sql? 就在.sql文件中。
当然。只需创建一个小应用程序,它可以获取所需的所有.sql文件并执行它们。做到这一点在VB.NET如下:
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
来自实例:http://snipplr.com/view/3879/run-sql-script-from-external-file/
你可以试试这个:
exec master..xp_cmdshell 'osql -E -ix:\path\filename.sql'
OSQL必须在路径的完整文件名必须是已知的,登录必须正确设置(选项-E或-U)
没有理由排除存储过程。你并不需要包括“任何其他形式的代码,是不是SQL”,再加上任何其他解决方案
EXEC someothersp
这将需要(或同等学历)。
你排除他们的原因是什么?我肯定会认为它会以另一种语言编写代码。
我想他意味着他想从另一个SQL脚本中调用一个SQL脚本。不像Chris Ballance所建议的那样,从外部脚本和语言中调用SQL脚本。 devio的解决方案是可行的,如果它需要全路径可能会很痛苦。 – tjmoore 2010-08-31 13:21:20