using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;
クエリを実行するためにSMOは必要ありません。代わりに、SqlCommandオブジェクトを使用してみてください。これらのusingステートメントを削除します。次のコードを使用してクエリを実行します:
SqlConnection conn = new SqlConnection(sqlConnectionString);
SqlCommand cmd = new SqlCommand(script, conn);
cmd.ExecuteNonQuery();
また、SMOへのプロジェクト参照を削除します。注:リソースを適切にクリーンアップする必要があります。
更新:
ADO.NETライブラリ
- スクリプトを解析します。 'GO'キーワードを削除し、スクリプトを個別のバッチに分割します。各バッチを独自のSqlCommandとして実行します。
- シェルのSQLCMDにスクリプトを送信します(David Andresの回答)。
- ブログ投稿のコードのようにSMOを使用します。
実際、この場合、SMOが最善の選択肢かもしれないと思いますが、dllが見つからなかった理由を突き止める必要があります。