Как залить дамп базы данных в базу MySql - C#

Узнай цену своей работы

Формулировка задачи:

у меня есть дамп базы для работы программы, и надо чтобы при первом запуске он загрузил дамп на сервер, как это сделать? дамп в формате .sql, я сначало думал через реестр узнать путь к консоли mysql и загрузить дамп, а есть наверное лучше способ, вот хочу выслушать вашу версию? если что у меня в программе в переменные забиты имя бд, логин, пароль, и хост. Если можно на примере кода пожалуйста

Решение задачи: «Как залить дамп базы данных в базу MySql»

textual
Листинг программы
            string connectionInfo =
                    string.Format(
                        "host={0};port='{1}';database='{2}';UserName='{3}';Password='{4}';Connection Timeout='{5}'",
                        config.Host, config.Port, config.DataBase, config.UserName, config.Password,
                        config.ConnectionTimeOut);
            MySqlConnection connection = new MySqlConnection(connectionInfo);
            connection.Open();
            const string query =
                "SELECT creature_template.entry, creature_template.speed_run, creature_template.speed_walk, creature_template.faction_A, creature_template.dynamicflags, creature_template.unit_flags, creature_template.rangeattacktime, creature_template.baseattacktime, creature_template.scale, creature_template.unit_class, creature_template.mindmg, creature_template.maxdmg, creature_template.attackpower, creature_template.rangedattackpower, creature_template.dmg_multiplier, creature_template.VehicleId, creature_template_sniff.entry, creature_template_sniff.speed_run, creature_template_sniff.speed_walk, creature_template_sniff.faction_A, creature_template_sniff.dynamicflags, creature_template_sniff.unit_flags, creature_template_sniff.rangeattacktime, creature_template_sniff.baseattacktime, creature_template_sniff.scale, creature_template_sniff.unit_class, creature_template_sniff.mindmg, creature_template_sniff.maxdmg, creature_template_sniff.attackpower, creature_template_sniff.rangedattackpower, creature_template_sniff.dmg_multiplier, creature_template_sniff.VehicleId FROM creature_template INNER JOIN creature_template_sniff ON creature_template.`entry` = creature_template_sniff.`entry` ORDER BY creature_template.entry";
            _command = new MySqlCommand(query, connection);
            using (MySqlDataReader db = _command.ExecuteReader())
            {
                while (db.Read())
                {
                    CreatureTemplate creature = new CreatureTemplate();
                    CreatureTemplate sniffCreature = new CreatureTemplate();
 
                    creature.entry = db[0].ToUint32();
                    creature.speed_run = db[1].ToFloat();
                    creature.speed_walk = db[2].ToFloat();
                    creature.faction = db[3].ToUint32();
                    creature.dynamicFlags = db[4].ToUint32();
                    creature.unit_flag = db[5].ToUint32();
                    creature.rangeAttackTime = db[6].ToUint32();
                    creature.baseAttackTime = db[7].ToUint32();
                    creature.scale = db[8].ToFloat();
                    creature.unit_class = db[9].ToUint32();
                    creature.minDamage = db[10].ToFloat();
                    creature.maxDamage = db[11].ToFloat();
                    creature.attackPower = db[12].ToUint32();
                    creature.rangeAttackPower = db[13].ToUint32();
                    creature.dmgMultiplier = db[14].ToUint32();
                    creature.vehicleId = db[15].ToUInt16();
 
                    sniffCreature.entry = db[16].ToUint32();
                    sniffCreature.speed_run = db[17].ToFloat();
                    sniffCreature.speed_walk = db[18].ToFloat();
                    sniffCreature.faction = db[19].ToUint32();
                    sniffCreature.dynamicFlags = db[20].ToUint32();
                    sniffCreature.unit_flag = db[21].ToUint32();
                    sniffCreature.rangeAttackTime = db[22].ToUint32();
                    sniffCreature.baseAttackTime = db[23].ToUint32();
                    sniffCreature.scale = db[24].ToFloat();
                    sniffCreature.unit_class = db[25].ToUint32();
                    sniffCreature.minDamage = db[26].ToFloat();
                    sniffCreature.maxDamage = db[27].ToFloat();
                    sniffCreature.attackPower = db[28].ToUint32();
                    sniffCreature.rangeAttackPower = db[29].ToUint32();
                    sniffCreature.dmgMultiplier = db[30].ToUint32();
                    sniffCreature.vehicleId = db[31].ToUInt16();
 
                    _creatures.Add(creature);
                    _sniffCreatures.Add(sniffCreature);
                }
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы