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

Jak mogę wykonać .sql z C#?

using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;

Nie powinieneś potrzebować SMO do wykonywania zapytań. Spróbuj zamiast tego użyć obiektu SqlCommand. Usuń je za pomocą instrukcji. Użyj tego kodu, aby wykonać zapytanie:

 SqlConnection conn = new SqlConnection(sqlConnectionString);
 SqlCommand cmd = new SqlCommand(script, conn);
 cmd.ExecuteNonQuery();

Usuń również odwołanie projektu do obiektu SMO. Uwaga:będziesz chciał prawidłowo wyczyścić zasoby.

Aktualizacja:

Biblioteki ADO.NET nie obsługuje słowa kluczowego „GO” . Wygląda na to, że masz następujące opcje:

  1. Przeanalizuj skrypt. Usuń słowa kluczowe „GO” i podziel skrypt na osobne partie. Wykonaj każdą partię jako własną SqlCommand.
  2. Wyślij skrypt do SQLCMD w powłoce (odpowiedź Davida Andresa).
  3. Użyj SMO jak kodu z posta na blogu.

Właściwie w tym przypadku uważam, że SMO może być najlepszą opcją, ale musisz sprawdzić, dlaczego nie znaleziono biblioteki dll.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Znalezienie podziału wiersza w ciągu tekstowym w tabeli SQL?

  2. Jak mogę programowo utworzyć DSN?

  3. zapytanie ms sql dotyczące liczby wystąpień słów w kolumnie tekstowej

  4. Indeksowanie Entity Framework WSZYSTKIE kolumny kluczy obcych

  5. R:[unixODBC][Menedżer sterowników] Nie można otworzyć biblioteki „SQL Server”:nie znaleziono pliku