using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;
Bạn không cần SMO để thực thi các truy vấn. Thay vào đó, hãy thử sử dụng đối tượng SqlCommand. Loại bỏ các câu lệnh sử dụng này. Sử dụng mã này để thực hiện truy vấn:
SqlConnection conn = new SqlConnection(sqlConnectionString);
SqlCommand cmd = new SqlCommand(script, conn);
cmd.ExecuteNonQuery();
Ngoài ra, hãy xóa tham chiếu dự án tới SMO. Lưu ý:bạn sẽ muốn dọn dẹp tài nguyên đúng cách.
Cập nhật:
Thư viện ADO.NET không hỗ trợ từ khóa 'ĐI' . Có vẻ như các tùy chọn của bạn là:
- Phân tích cú pháp tập lệnh. Loại bỏ các từ khóa 'ĐI' và chia tập lệnh thành các lô riêng biệt. Thực thi từng lô dưới dạng SqlCommand của riêng nó.
- Gửi tập lệnh tới SQLCMD trong shell (câu trả lời của David Andres).
- Sử dụng SMO như mã từ bài đăng trên blog.
Trên thực tế, trong trường hợp này, tôi nghĩ rằng SMO có thể là lựa chọn tốt nhất, nhưng bạn sẽ cần phải theo dõi lý do tại sao không tìm thấy dll.