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:
- Przeanalizuj skrypt. Usuń słowa kluczowe „GO” i podziel skrypt na osobne partie. Wykonaj każdą partię jako własną SqlCommand.
- Wyślij skrypt do SQLCMD w powłoce (odpowiedź Davida Andresa).
- 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.