using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;
Не трябва да имате нужда от SMO, за да изпълнявате заявки. Опитайте вместо това да използвате обекта SqlCommand. Премахнете тези изрази за използване. Използвайте този код, за да изпълните заявката:
SqlConnection conn = new SqlConnection(sqlConnectionString);
SqlCommand cmd = new SqlCommand(script, conn);
cmd.ExecuteNonQuery();
Също така премахнете препратката на проекта към SMO. Забележка:ще искате да почистите ресурсите правилно.
Актуализация:
Библиотеките на ADO.NET не поддържат ключовата дума 'GO' . Изглежда, че вашите опции са:
- Анализирайте скрипта. Премахнете ключовите думи „GO“ и разделете скрипта на отделни партиди. Изпълнете всяка партида като собствена SqlCommand.
- Изпратете скрипта до SQLCMD в обвивката (отговорът на Дейвид Андрес).
- Използвайте SMO като кода от публикацията в блога.
Всъщност в този случай мисля, че SMO може да е най-добрият вариант, но ще трябва да проследите защо dll не е намерен.