Как я могу выполнить .sql от C#?

Если у Вас есть так мало веры в себя, что Вы чувствуете, что потребность сохранить несколько сотен долларов путем взламывания псевдоMac вместе просто не потрудилась пробовать во-первых.

, Кроме того, Вы вполне уверенно приведете к сбою (или проведете так много времени, пытаясь успешно выполниться, Вы потратите впустую значительно вещи получения большего количества времени работать, чем Вы экономили на стоимости). Эти два решающих довода

  1. , Вы имеете для выполнения кода iPhone или касания, потому что эмулятор не прекрасен и введет в заблуждение Вас без Вас даже быть знающим об этом - у меня есть код, который работает на эмуляторе, но не как ожидалось на аппаратных средствах

  2. , ключевое подписание Apple достаточно трудно получить работу с реальной вещью, мне потребовались несколько часов, и я не являюсь одним - существует очень много сообщений там на форумах разработки от людей, имеющих трудности, управляющие им. При получении его работающий над Взломанной машиной - хорошо можно ли быть удачливыми, но Вы готовы играть на деньги?

15
задан pupeno 20 September 2009 в 09:09
поделиться

5 ответов

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

SMO не требуется для выполнения запросов. Попробуйте вместо этого использовать объект SqlCommand. Удалите эти операторы using. Используйте этот код для выполнения запроса:

 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 не была найдена.

29
ответ дан 1 December 2019 в 00:59
поделиться

MSVCR80 это среда выполнения Visual C ++ 2005. Возможно, вам потребуется установить пакет среды выполнения. См. http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&displaylang=en для получения дополнительных сведений.

В дополнение к решению проблемы с DLL и ответ Мэтта Брунелла (который, как мне кажется, более подходит для того, что вы пытаетесь сделать), вы можете использовать инструмент командной строки SQLCMD (из установки инструментов клиента SQL) для выполнения этих сценариев SQL. Просто убедитесь, что он находится на вашем пути, чтобы у вас не возникло проблем с местоположениями путей.

Это будет выглядеть так:

Фактическая команда:

SQLCMD -S myServer -D myDatabase -U myUser -P myPassword -i myfile.sql

Параметры (регистр имеет значение):

S: server
d: database
U: User name, only necessary if you don't want to use Windows authentication
P: Password, only necessary if you don't want to use Windows authentication
i: File to run

Код для выполнения файлов SQL :

9
ответ дан 1 December 2019 в 00:59
поделиться

Вместо добавления еще одного инструмента я предлагаю вам сделать это с помощью тот, который вы уже используете: Система контроля версий. Наиболее приличное программное обеспечение для управления версиями поддерживает внешние включения, которые вы можете использовать, чтобы обновлять свои плагины.

Допустим, мы хотим включить последний плагин mousewheel в наш проект SVN, sql файл? Может быть, что-то, что просто вставляет одну строку или создает произвольную таблицу? То, что очень легко проверить? По сути, этот код похож на жесткое кодирование sql, за исключением того, что вы читаете его из файла. Если вы можете заставить его работать с очень простым файлом, я бы сказал, что, вероятно, что-то не так с самой файловой структурой. В сообщении говорилось о том, что есть некоторые оговорки относительно того, что может и что не может быть в файле. По крайней мере, это хорошее место для устранения неполадок.

В сообщении упоминалось о том, что есть некоторые оговорки относительно того, что может и не может быть в файле. По крайней мере, это хорошее место для устранения неполадок.

В сообщении упоминалось о том, что есть некоторые оговорки относительно того, что может и не может быть в файле. По крайней мере, это хорошее место для устранения неполадок.

0
ответ дан 1 December 2019 в 00:59
поделиться

Это может вас заинтересовать: http://geekswithblogs.net/thomasweller/archive/2009/09/08/automating-database-script-execution.aspx

Он представляет собой универсальный «тестовый инструмент» для автоматического выполнения sql-скриптов. Также доступен образец кода, и нет никаких зависимостей от каких-либо необычных сборок ...

0
ответ дан 1 December 2019 в 00:59
поделиться

Если вы добавите в проект следующие ссылки, исходный код будет работать нормально.

Я использую SQL 2008 Express.

Путь: C: \ Program Files (x86) \ Microsoft SQL Server \ 100 \ SDK \ Assemblies \

Файлы: microsoft.sqlserver.smo.dll, microsoft.sqlserver .connectioninfo.dll и Microsoft.SqlServer.Management.Sdk.Sfc.dll

0
ответ дан 1 December 2019 в 00:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: