'*************************************************************************
'**函 数 名:s_ExecuteSqlFile
'**功能描述:在指定的数据库对象中,执行指定的脚本文件
'**输    入: sFileName     要执行的脚本文件名
'**        : iDb           数据库对象,要求是:ADODB.Connection
'**        : sPassword     登陆密码
'**输    出: 无
'**调用模块: 无
'**作    者: 邹建
'**日    期: 2004年03月09日
'*************************************************************************
Sub s_ExecuteSqlFile(ByVal sFileName$, ByVal iDb As Object)
    Dim iFn As Object
    
    Dim iSql$, iStr$
    
    Set iFn = CreateObject("FileSystemObject").OpenTextFile("c:\1.txt", 1)
    
    With iFn
        While .AtEndOfStream = False
            iStr = iFn.ReadLine
            If UCase(iStr) = "GO" Then
                If iSql <> "" Then
                    iDb.Execute iSql
                    iSql = ""
                End If
            Else
                iSql = iSql & vbCrLf & iStr
            End If
        Wend
        iFn.Close
    End With
End Sub
'调用示例
'要求引用Microsoft ActiveX Data Objects 2.x Library
'
'数据库连接字符串模板
'身份验证模式为:"sql server和windows"
'Provider=SQLOLEDB.1;Persist Security Info=True;User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名
'
'身份验证模式为:"仅windows"
'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=数据库名;Data Source=SQL服务器名Sub test()
    Dim iDb As ADODB.Connection
    Dim iConn$
    
    '数据库连接字符串    iConn = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名"
    
    Set iDb = New ADODB.Connection
    iDb.Open iConn
    
    s_ExecuteSqlFile "c:\a.sql", iDb '执行脚本文件: c:\a.sql
    
    iDb.Close
    Set iDb = Nothing
End Sub