Выполнение SQL-скрипта в C #, содержащего вызов SOURCE - PullRequest
0 голосов
/ 26 октября 2018

Поэтому я пытаюсь выполнить следующий SQL код из C# приложения

SOURCE Install/Create_Initial_Index
SOURCE Install/Create_Table_Pk

, используя следующий C# код

public static void installScripts(MySqlConnection conn, String installScriptPath)
{
    MySqlScript script = new MySqlScript(conn, File.ReadAllText(installScriptPath));
    script.Execute();
}

Однако этоповышение синтаксической ошибки для ключевого слова SOURCE

Код ошибки: 1064. У вас ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с 'SOURCE Install / Create_Initial_Index.sql # 20170109 NOT REQUIRED == >>> SOURCE Inst' в строке 1

ИСТОЧНИККлючевое слово не работает при вызове сценария .sql из MySQL workbench, но работает при вызове из командной строки mysql>.Однако, похоже, что код C#, который я использую, эквивалентен вызову его из MySQL рабочей среды.Кто-нибудь знает, как я могу изменить мой код C #, чтобы приравнять вызов к вызову командной строки mysql>.Я думаю, что это решило бы проблему.

Редактировать 1: Я попытался сделать это, запустив скрипт оболочки из C#, но он не работает, потому что для подключения требуется

Редактировать2: этот вопрос полностью отличается от того, что кто-то определил как «дубликат».Пожалуйста, прочитайте вопрос полностью.

1 Ответ

0 голосов
/ 29 октября 2018

Я думаю, чтобы ваш код на c # работал так же, как и клиент командной строки mysql>, вам нужно

  • проанализировать файл, который вы прочитали в
  • , чтобы определить источникоператоры
  • загружают и исполняют каждый файл в исходном операторе
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...