dim objCon as ADODB.Connection
dim strSql as string
dim connstr as string'建立连接
Set objCon = New ADODB.Connection
connstr = "Provider=SQLOLEDB.1;Persist Security Info=true;User ID=sa;Data Source=(local);Password=;Initial Catalog=mydb"
objCon.open connstr'执行存储过程
strsql= 1.sql的内容
objCon.execute strSql

解决方案 »

  1.   

    首先你需要在VB中打开并读取这个文件,
    然后将所有字符串付值给一个变量,
    例如:strsql="这里是你打开文件取道的所有字符串"
    然后像楼上所说的执行就可以了。
    打开.SQL文件,和打开.txt文件是一样的。
      

  2.   

    同意楼上的意见.
    另 "GO" 的目地是先执行第一个创建存储过程的语句
    再执行第二个创建存储过程的语句.不能取消"GO",如
    果取消就会出错.
      

  3.   

    同意楼上的意见.
    另 "GO" 的目地是先执行第一个创建存储过程的语句
    再执行第二个创建存储过程的语句.不能取消"GO",如
    果取消就会出错.
      

  4.   

    谢谢大家的回复可是在执行objCon.execute strSql时,提示不能用“go”.去掉go后,提示create procedure 必须在第一条语句如果strsql中只是创建多个表,这种解决方案是对的,但如果是创建多个存储过程或触发器就不行了'定义SQL语句
        Dim strsql
        Dim strsql1 As Variant
        '定义数据库对象
        Dim conn As New ADODB.Connection
        conn.Open xd_conndata.p_scnn1    
        '产生创建数据库
         
        '对文件进行操作
        Set fs = CreateObject("Scripting.FileSystemObject")
        If Right(Trim(App.Path), 1) = "\" Then
            Set sqltext = fs.OpenTextFile(App.Path & "data\PowerEC_database.sql")
        Else
            Set sqltext = fs.OpenTextFile(App.Path & "\data\PowerEC_database.sql")
        End If
        
        strsql = ""
        '将SQL语句赋值,对数据库进行操作
        Do While Not sqltext.AtEndOfStream = True
            strsql = strsql & sqltext.ReadLine & Chr(10) & Chr(13)
        Loop
        
        conn.Execute (strsql)
        sqltext.Close
        conn.Close
      

  5.   

    建议最好别用CreateObject("Scripting.FileSystemObject"),容易本机调试通过,到别的机就报错