Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để thực thi .sql từ C #?

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à:

  1. 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ó.
  2. Gửi tập lệnh tới SQLCMD trong shell (câu trả lời của David Andres).
  3. 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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để truy xuất danh sách các tham số từ một thủ tục được lưu trữ trong SQL Server

  2. Cách chỉ định đối chiếu trong truy vấn trong SQL Server (T-SQL)

  3. Bắt đầu với GearHost để phát triển cơ sở dữ liệu máy chủ SQL

  4. Tối ưu hóa hiệu suất XML Server XML

  5. Nhập cột bảng tính Excel vào cơ sở dữ liệu SQL Server