2008-10-15 163 views

回答

3

当然。只需创建一个小应用程序,它可以获取所需的所有.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/

11

你可以试试这个:

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

OSQL必须在路径的完整文件名必须是已知的,登录必须正确设置(选项-E或-U)

0

没有理由排除存储过程。你并不需要包括“任何其他形式的代码,是不是SQL”,再加上任何其他解决方案

EXEC someothersp

这将需要(或同等学历)。

你排除他们的原因是什么?我肯定会认为它会以另一种语言编写代码。

+1

我想他意味着他想从另一个SQL脚本中调用一个SQL脚本。不像Chris Ballance所建议的那样,从外部脚本和语言中调用SQL脚本。 devio的解决方案是可行的,如果它需要全路径可能会很痛苦。 – tjmoore 2010-08-31 13:21:20

相关问题