在VBA中正确使用MSSQL“去”

我即将运行一个我使用MSSQL编程的批处理,如下所示:

create function xy ( ..... end go create function2 xy ( ... end go 

然后,我将它保存在一个文件中,我的macros将它读入一个string,并用ADO尝试运行。 不幸的是,所有的时候我得到以下错误信息:'去'附近的语法不正确。 我一直在阅读,只发现解决scheme分裂批处理,但我真的不想要,因为我有一个stringvariables。 我在vba中的连接string如下(首先是公共声明的variables):

 Public conn As ADODB.Connection Public rs As ADODB.Recordset Public cmd As ADODB.Command Public sConnString As String On Local Error GoTo err sConnString = "Provider=SQLOLEDB.1;Data Source=localhost;" & _ "Initial Catalog=" & database & ";" & _ "Integrated Security=SSPI;" Set conn = New ADODB.Connection Set rs = New ADODB.Recordset Set cmd = New ADODB.Command conn.Open sConnString conn.CursorLocation = adUseClient cmd.ActiveConnection = conn set rs = conn.Execute(mysqlstring) 

我也检查了我用vba读取的文件,没有问题,如果我复制它,然后粘贴到Microsoft SQL,它的工作原理。 它不,如果我使用ADO。

每一个帮助非常感谢!

玛塔

GO是默认批终止符,它是不正确的TSQL。

“将一批Transact-SQL语句的结束标志给SQL Server实用程序。”

GO不是Transact-SQL语句 ; 它是由sqlcmd和osql实用程序和SQL Server Management Studio代码编辑器识别的命令。

例如,对数据库进行2次调用,或者通过SSMS创build这些函数。