Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как мога да изпълня .sql от C#?

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' . Изглежда, че вашите опции са:

  1. Анализирайте скрипта. Премахнете ключовите думи „GO“ и разделете скрипта на отделни партиди. Изпълнете всяка партида като собствена SqlCommand.
  2. Изпратете скрипта до SQLCMD в обвивката (отговорът на Дейвид Андрес).
  3. Използвайте SMO като кода от публикацията в блога.

Всъщност в този случай мисля, че SMO може да е най-добрият вариант, но ще трябва да проследите защо 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. Как нулирате паролата на SA?

  2. Може ли функцията T-SQL да върне дефиниран от потребителя тип таблица?

  3. Сигнали за агент на SQL Server

  4. Как да промените съпоставянето на ниво сървър на работещ екземпляр на SQL сървър

  5. SQL Server:Клауза GROUP BY за получаване на стойности, разделени със запетая