Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / MySQL Новый топик    Ответить
 Как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере? - C#  [new]
Vladimir2114
Member

Откуда:
Сообщений: 8
Господа форумчане, здравствуйте!
Помогите разобраться - как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере...
Получаю данные так:


MySqlLib.MySqlData.MySqlExecuteData.MyResultData result = new MySqlLib.MySqlData.MySqlExecuteData.MyResultData();
result = MySqlLib.MySqlData.MySqlExecuteData.SqlReturnDataset("SELECT * "
+ "FROM detectors_detections "
+ "WHERE detectors_detections.id > 14557217", "database=****; Data source = *****; UserId=****;Password=****");

if (result.HasError == false)
{
dataGridView1.Columns.Clear();
dataGridView1.DataSource = result.ResultData.DefaultView;
MessageBox.Show(result.ResultData.Rows.Count.ToString());
}
else
{
MessageBox.Show(result.ErrorText);
}
7 окт 17, 15:56    [20850918]     Ответить | Цитировать Сообщить модератору
 Re: Как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере? - C#  [new]
Vladimir2114
Member

Откуда:
Сообщений: 8
мда-а-а... похоже перевелись на Руси добрые люди... =) все заходят смотрят и уходят... неужели никто не сталкивался с подобным?!
7 окт 17, 18:00    [20851058]     Ответить | Цитировать Сообщить модератору
 Re: Как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере? - C#  [new]
javajdbc
Member [заблокирован]

Откуда: Montreal
Сообщений: 17798
Vladimir2114,

Просто перекинуть данные можно утилитой mysqldump

Если таки нужно через C# то полно примеров в Гугле:

http://www.c-sharpcorner.com/UploadFile/9582c9/insert-update-delete-display-data-in-mysql-using-C-Sharp/

https://stackoverflow.com/questions/16167924/c-sharp-with-mysql-insert-parameters

public string CreateEntry(string Connectionstring, string mitarbeiter)
{
connection = new MySqlConnection(Connectionstring);
try
{
var command = connection.CreateCommand();
command.CommandText = "INSERT INTO tb_mitarbeiter (Vorname) VALUES ('tom')";
connection.Open();
return "Mitarbeiter wurde angelegt";
}
catch (Exception ex)
{
return ex.Message;
}
finally
{
connection.Close();
}
}
7 окт 17, 18:08    [20851066]     Ответить | Цитировать Сообщить модератору
 Re: Как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере? - C#  [new]
Vladimir2114
Member

Откуда:
Сообщений: 8
Спасибо, конечно, но Вы предлагаете все примеры либо на одном сервере, либо просто заполнить значениями... а мне нужно именно данными с ДРУГОГО сервера... (а таких как Ваши примеры - действительно куча, есть и более быстрые...)
7 окт 17, 18:31    [20851103]     Ответить | Цитировать Сообщить модератору
 Re: Как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере? - C#  [new]
Vladimir2114
Member

Откуда:
Сообщений: 8
и не просто перекинуть... данные сыпятся на головной сервер круглые сутки и мне нужно обновлять свой сервер (добавлять данные с головного - именно не все подряд, а выборки)
7 окт 17, 18:42    [20851123]     Ответить | Цитировать Сообщить модератору
 Re: Как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере? - C#  [new]
javajdbc
Member [заблокирован]

Откуда: Montreal
Сообщений: 17798
Vladimir2114
Спасибо, конечно, но Вы предлагаете все примеры либо на одном сервере, либо просто заполнить значениями... а мне нужно именно данными с ДРУГОГО сервера... (а таких как Ваши примеры - действительно куча, есть и более быстрые...)



разница между локальным и внешним -- только указать IP (если по TCP протоколу).
Т.е. вместо localhost указываете 123.123.123.123 (или имя если есть ресолюция)
и порт (если не 3306)....ну и соответсвено нужно чтоб порт был открыт и слушал.
7 окт 17, 19:41    [20851203]     Ответить | Цитировать Сообщить модератору
 Re: Как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере? - C#  [new]
Vladimir2114
Member

Откуда:
Сообщений: 8
согласен... а затем как эти данные сохранить на локальный! (в этом собственно и состоял изначальный вопрос...)
7 окт 17, 19:57    [20851224]     Ответить | Цитировать Сообщить модератору
 Re: Как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере? - C#  [new]
javajdbc
Member [заблокирован]

Откуда: Montreal
Сообщений: 17798
Vladimir2114
согласен... а затем как эти данные сохранить на локальный! (в этом собственно и состоял изначальный вопрос...)



...ну вытаскивайте данные по одной строчке из result или из result.ResultData

для етого обьекта, я надеюсь, есть некий иттератор... запись-за-записью..
выташили, достали поля и создаем ИНСЕРТ стейтмент
...затем посылаем на таргет сервер

ну типа:

cmd.CommandText = "INSERT INTO room(person,address) VALUES(?person,?address)";
cmd.Parameters.Add("?person", MySqlDbType.VarChar).Value = "myname";
cmd.Parameters.Add("?address", MySqlDbType.VarChar).Value = "myaddress";
cmd.ExecuteNonQuery();

(ето из другой библиотеки... вы уж сами посмотрите какие библиотеки есть у вас)
7 окт 17, 20:23    [20851275]     Ответить | Цитировать Сообщить модератору
 Re: Как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере? - C#  [new]
miksoft
Member

Откуда:
Сообщений: 36390
Vladimir2114,

Если сервера имеют связь между собой, то см. FEDERATED Storage Engine.
7 окт 17, 22:26    [20851450]     Ответить | Цитировать Сообщить модератору
 Re: Как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере? - C#  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 16249
Vladimir2114,
Определитесь, что именно Вы хотите.

1. забрать данные с одного сервера на клиента и отдать другому

или

2.
заставить один сервер отдать (или забрать) данные другому серверу, а клиент только управляет (или инициирует) этот процесс
7 окт 17, 22:31    [20851457]     Ответить | Цитировать Сообщить модератору
 Re: Как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере? - C#  [new]
Vladimir2114
Member

Откуда:
Сообщений: 8
javajdbc , примерно к этому и прихожу...

нет, сервера не связаны друг с другом

что-то не понятно? любым способом забирать (постоянно) данные с удаленного и обновлять таблицы на локальном сервере (про federated знаю - не подходит удаленный администрирую не я)
8 окт 17, 00:17    [20851597]     Ответить | Цитировать Сообщить модератору
 Re: Как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере? - C#  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 16249
Vladimir2114
любым способом забирать (постоянно) данные с удаленного и обновлять таблицы на локальном сервере
В таком случае Вы явно не в тот форум обратились. Со стороны MySQL Вы хотите совершенно стандартно получать данные и столь же стандартно их заливать. А оптимизацию надо искать в шарпе - и соответственно обращаться в форум по шарпу.

Единственная оговорка, которая может повлиять на расклад - это слова "локальный сервер". У Вас сервер назначения и клиент, который будет получать данные - это один и тот же инстанс ОС?
8 окт 17, 00:39    [20851631]     Ответить | Цитировать Сообщить модератору
 Re: Как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере? - C#  [new]
Vladimir2114
Member

Откуда:
Сообщений: 8
конечно один и тот же... и-и-и? честно говоря не понял ни бельмеса... (простите - просто пытаюсь научиться... и - никак...))
8 окт 17, 01:21    [20851678]     Ответить | Цитировать Сообщить модератору
Все форумы / MySQL Ответить