Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Изпълнете голям SQL скрипт (с GO команди)

Използвайте SQL Server Management Objects (SMO), който разбира GO разделителите. Вижте моя публикация в блога тук:http://weblogs.asp.net/jongalloway/Handling-_2200_GO_2200_-Separators-in-SQL-Scripts-2D00 -лесният начин

Примерен код:

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);
        }
   }
}

Ако това не работи за вас, вижте библиотеката на Phil Haack, която обработва това: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. Как мога да конвертирам отметки във формат за дата?

  2. Какви са различните начини за вмъкване на данни в таблицата на SQL Server - SQL Server / TSQL урок, част 100

  3. Изберете група от редове, които съответстват на всички елементи в списъка

  4. Каква е целта на репликацията на данни?

  5. Бази данни на SQL Server Статистика за използване на процесора