Копирование данных MySQL через командную строку для удаленного сервера не удается из -за синтаксисаC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Копирование данных MySQL через командную строку для удаленного сервера не удается из -за синтаксиса

Сообщение Anonymous »

У меня есть старый сервер базы данных MySQL на машине Windows и новый сервер базы данных MySQL в Azure. Я разрабатываю небольшое приложение для копирования баз данных с моего Windows Server в Azure, но, по -видимому, мой синтаксис неверен. < /P>
Официальная документация перечисляет эти две строки для создания базы данных на удаленном сервере и копирования контента. < /P>

Код: Выделить всё

mysqladmin -h 'other_hostname' create db_name
mysqldump db_name | mysql -h 'other_hostname' db_name
< /code>
Я успешно запустил эти команды с правильными значениями в окне командной строки в Windows, но когда я запускаю следующий код, он сбой. < /p>
// Create database.
var stopwatch = new Stopwatch();
stopwatch.Start();

var process = new Process()
{
StartInfo = new ProcessStartInfo("mysqladmin", $"-u{targetUser} -p{targetPassword} -h {targetHost} create {arg}")
{
UseShellExecute = false,
RedirectStandardOutput = false,
WorkingDirectory = mySqlPath
}
};

process.Start();

if (process is not null)
{
process.WaitForExit();
}

stopwatch.Stop();
logWriter.WriteLine($"\tCreating database in {stopwatch.ElapsedMilliseconds} ms");

// Copy database.
stopwatch.Restart();

process = new Process()
{
StartInfo = new ProcessStartInfo("mysqldump", @$"-u{sourceUser} -p{sourcePassword} {arg} | {mySqlPath}mysql.exe -u{targetUser} -p{targetPassword} -h {targetHost} {arg}")
{
UseShellExecute = false,
RedirectStandardOutput = false,
WorkingDirectory = mySqlPath
}
};

process.Start();

if (process is not null)
{
process.WaitForExit();
}

stopwatch.Stop();
logWriter.WriteLine($"\tCopying database in {stopwatch.ElapsedMilliseconds} ms");
ошибка, которую я получаю,
mysqldump: Couldn't find table: "|"
< /code>
Я знаю, что параметры, которые я передаю к вызовам, верны, потому что я попытался успешно запустить команды из окна командной строки. Я не уверен, как изменить команду исправить эту ошибку. Поскольку единственный символ вызывает ошибку, он очень затрудняет поиск в Интернете.

Подробнее здесь: https://stackoverflow.com/questions/796 ... -of-syntax
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»