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

Thực thi một tập lệnh SQL lớn (với các lệnh GO)

Sử dụng SQL Server Management Objects (SMO) hiểu các dấu phân cách GO. Xem bài đăng trên blog của tôi tại đây:http://weblogs.asp.net/jongalloway/Handling-_2200_GO_2200_-Separators-in-SQL-Scripts-2D00 -the-easy-way

Mã mẫu:

public static void Main()    
{        
  string scriptDirectory = "c:\\temp\\sqltest\\";
  string sqlConnectionString = "Integrated Security=SSPI;" +
  "Persist Security Info=True;Initial Catalog=Northwind;Data Source=(local)";
  DirectoryInfo di = new DirectoryInfo(scriptDirectory);
  FileInfo[] rgFiles = di.GetFiles("*.sql");
  foreach (FileInfo fi in rgFiles)
  {
        FileInfo fileInfo = new FileInfo(fi.FullName);
        string script = fileInfo.OpenText().ReadToEnd();
        using (SqlConnection connection = new SqlConnection(sqlConnectionString))
        {
            Server server = new Server(new ServerConnection(connection));
            server.ConnectionContext.ExecuteNonQuery(script);
        }
   }
}

Nếu điều đó không hiệu quả với bạn, hãy xem thư viện của Phil Haack xử lý điều đó:http://haacked.com/archive/2007/11/04/a-library-for-executing-sql-scripts-with-go-separators -and.aspx



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiểm tra sao lưu máy chủ SQL

  2. Có một SQL Server Profiler cho SQL Server Express không?

  3. Chuyển đổi văn bản hộp văn bản thành số nguyên

  4. Hướng dẫn cơ sở dữ liệu SQL Server (MSSQL DBA) cho người mới bắt đầu quản trị cơ sở dữ liệu

  5. SET so với SELECT khi gán biến?