using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;
Du behøver ikke SMO for at udføre forespørgsler. Prøv i stedet at bruge SqlCommand-objektet. Fjern disse ved hjælp af udsagn. Brug denne kode til at udføre forespørgslen:
SqlConnection conn = new SqlConnection(sqlConnectionString);
SqlCommand cmd = new SqlCommand(script, conn);
cmd.ExecuteNonQuery();
Fjern også projekthenvisningen til SMO. Bemærk:du vil gerne rydde op i ressourcer ordentligt.
Opdatering:
ADO.NET-bibliotekerne understøtter ikke søgeordet 'GO' . Det ser ud til, at dine muligheder er:
- Parse scriptet. Fjern 'GO'-nøgleordene og opdel scriptet i separate batches. Udfør hver batch som sin egen SqlCommand.
- Send scriptet til SQLCMD i shellen (David Andres' svar).
- Brug SMO som koden fra blogindlægget.
Faktisk, i dette tilfælde, tror jeg, at SMO kan være den bedste løsning, men du bliver nødt til at spore, hvorfor dll'en ikke blev fundet.