Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wykonaj duży skrypt SQL (za pomocą poleceń GO)

Użyj obiektów zarządzania SQL Server (SMO), które rozumieją separatory GO. Zobacz mój wpis na blogu tutaj:http://weblogs.asp.net/jongloway/Handling-_2200_GO_2200_-Separators-in-SQL-Scripts-2D00 -łatwy sposób

Przykładowy kod:

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

Jeśli to nie zadziała, zobacz bibliotekę Phila Haacka, która to obsługuje:http://haacked.com/archive/2007/11/04/a-library-for-executing-sql-scripts-with-go-separators -i.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. Jak naprawić „Serwer nie jest skonfigurowany do dostępu do danych” w SQL Server

  2. Przecinki w danych CSV

  3. SYSDATETIMEOFFSET() Przykłady w SQL Server (T-SQL)

  4. Procedura składowana wywołań SQL dla każdego wiersza bez użycia kursora

  5. SQL Server - brak NATURAL JOIN / x JOIN y USING(pole)