using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;
Non dovresti aver bisogno di SMO per eseguire le query. Prova invece a usare l'oggetto SqlCommand. Rimuovere queste istruzioni using. Usa questo codice per eseguire la query:
SqlConnection conn = new SqlConnection(sqlConnectionString);
SqlCommand cmd = new SqlCommand(script, conn);
cmd.ExecuteNonQuery();
Rimuovere inoltre il riferimento del progetto a SMO. Nota:vorrai ripulire le risorse correttamente.
Aggiornamento:
Le librerie ADO.NET non supportano la parola chiave 'GO' . Sembra che le tue opzioni siano:
- Analizza lo script. Rimuovere le parole chiave "GO" e dividere lo script in batch separati. Esegui ogni batch come il proprio SqlCommand.
- Invia lo script a SQLCMD nella shell (risposta di David Andres).
- Utilizza SMO come il codice del post del blog.
In realtà, in questo caso, penso che SMO possa essere l'opzione migliore, ma dovrai scoprire perché la dll non è stata trovata.