Как залить дамп базы данных в базу 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); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д