sql >> Databáze >  >> RDS >> Sqlserver

Jak mohu spustit .sql z C#?

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

K provádění dotazů byste neměli potřebovat SMO. Zkuste místo toho použít objekt SqlCommand. Odstraňte tyto příkazy. Ke spuštění dotazu použijte tento kód:

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

Odeberte také odkaz projektu na SMO. Poznámka:Zdroje budete chtít řádně vyčistit.

Aktualizace:

Knihovny ADO.NET nepodporují klíčové slovo 'GO' . Zdá se, že vaše možnosti jsou:

  1. Analyzujte skript. Odstraňte klíčová slova 'GO' a rozdělte skript do samostatných dávek. Spusťte každou dávku jako vlastní příkaz SqlCommand.
  2. Pošlete skript do SQLCMD v shellu (odpověď Davida Andrese).
  3. Použijte SMO jako kód z blogového příspěvku.

Ve skutečnosti si v tomto případě myslím, že SMO může být nejlepší volbou, ale budete muset zjistit, proč nebyla dll nalezena.



  1. mysql rozdíl v použití indexu mezi MyISAM a InnoDB

  2. Kde bezpečně ukládat přihlašovací údaje k databázi v rámci webové stránky PHP

  3. Předání DataTable uložené proceduře jako argument

  4. Hranice slov PostgreSQL Regex?