Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana saya bisa menjalankan .sql dari C#?

using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;

Anda tidak perlu SMO untuk menjalankan kueri. Coba gunakan objek SqlCommand sebagai gantinya. Hapus ini menggunakan pernyataan. Gunakan kode ini untuk menjalankan kueri:

 SqlConnection conn = new SqlConnection(sqlConnectionString);
 SqlCommand cmd = new SqlCommand(script, conn);
 cmd.ExecuteNonQuery();

Juga, hapus referensi proyek ke SMO. Catatan:Anda perlu membersihkan sumber daya dengan benar.

Pembaruan:

Pustaka ADO.NET tidak mendukung kata kunci 'GO' . Sepertinya pilihan Anda adalah:

  1. Mengurai skrip. Hapus kata kunci 'GO' dan pisahkan skrip menjadi kumpulan terpisah. Jalankan setiap batch sebagai SqlCommand-nya sendiri.
  2. Kirim skrip ke SQLCMD di shell (jawaban David Andres).
  3. Gunakan SMO seperti kode dari entri blog.

Sebenarnya, dalam hal ini, saya pikir SMO mungkin merupakan pilihan terbaik, tetapi Anda perlu melacak mengapa dll tidak ditemukan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa perbedaan antara Scope_Identity(), Identity(), @@Identity, dan Ident_Current()?

  2. Dapatkan nilai kolom dari nama kolom string sql

  3. cara memeriksa kueri menggunakan indeks

  4. Urutan pernyataan SQL Select tanpa klausa Order By

  5. Cara Menambahkan File Log ke Database SQL Server (T-SQL)