Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Sử dụng SMO, vẫn không đi được ... ConnectionContext.ExecuteNonQuery (script) không thể hiểu GO

"GO" không phải là ngôn ngữ SQL

Đó là một bộ phân tách hàng loạt được sử dụng bởi các công cụ khách như SSMS (không gửi "GO" đến công cụ cơ sở dữ liệu)

SMO không phân tích cú pháp tập lệnh thành các lô như SSMS sẽ làm, vì vậy công cụ cơ sở dữ liệu sẽ tạo ra lỗi.

Sau khi bình luận:

"ĐI" phải nằm trên một dòng riêng biệt

Tập lệnh của bạn có phải là cái này theo nghĩa đen không (sao chép / dán từ khi tôi "chỉnh sửa" câu hỏi)

USE [master]  GO  ALTER DATABASE [Cassiopeia] SET ANSI_NULL_DEFAULT OFF  GO  ALTER DATABASE [Cassiopeia] SET ANSI_NULLS OFF  GO

hay cái này được định dạng đúng?

USE [master]
GO
ALTER DATABASE [Cassiopeia] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [Cassiopeia] SET ANSI_NULLS OFF
GO


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server - nối các hàng thành danh sách được phân tách bằng dấu phẩy

  2. Không sử dụng sp_depends trong SQL Server (nó không được dùng nữa)

  3. 2 cách tạo bảng trên máy chủ được liên kết bằng T-SQL

  4. Bỏ qua mili giây trong một ngày

  5. Tạo tập lệnh SQL tạo cơ sở dữ liệu và bảng