【问题标题】:GO statement in Access ADOAccess ADO 中的 GO 语句
【发布时间】:2019-10-10 05:59:16
【问题描述】:

我正在尝试在从 MS Access 2019 中的 VBA 代码传递到 SQL Server 2017 的查询中使用 GO 语句。执行导致运行时错误:

80040e14 “GO 附近的语法不正确”。

在 SSMS 中执行的查询完全相同。

我做错了什么?如果我删除 GO 行,它会起作用。

在访问模块中:

Public SQLDB As Object
Public ADOcom As Object
Public Const adCmdText as Long = 1

Sub CreateDB()
  Dim sql As String, connectionstring As String

  connectionstring = "Driver={SQL Server Native Client 11.0};" & _
                     "Server=MySQLServer;" & _
                     "Trusted_Connection=yes;" & _
                     "Provider=SQLNCLI11;" & _
                     "DataTypeCompatibility=80;" & _
                     "MARS Connection=True;"

  Set SQLDB = CreateObject("ADODB.Connection")
  Set ADOcom = CreateObject("ADODB.Command")
  SQLDB.Open connectionstring
  Set ADOcom.ActiveConnection = SQLDB
  ADOcom.CommandType = adCmdText

  sql = "USE Master;" & vbCrLf & _
        "GO" & vbCrLf & _
        "CREATE DATABASE MyTest"

  ADOcom.CommandText = sql
  ADOcom.Execute
End Sub

【问题讨论】:

标签: sql-server vba ms-access ado


【解决方案1】:

GO 不是 Transact-SQL 语句,而是可识别的命令 由 Sql Server Management Studio(即 SSMS)、SQLCMD 和 OSQL 实用程序。

Reference

你不需要在commandText中使用GO语句

【讨论】:

  • 啊,就这么简单!谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-16
  • 1970-01-01
相关资源
最近更新 更多