Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2012, 16:49   #1
Montysson
Пользователь
 
Аватар для Montysson
 
Регистрация: 16.10.2011
Сообщений: 32
Печаль Перенос БД MySQL на другой компьютер

Добрый день.

У меня на компе установлен MySQL Server 5.5. Подключаю БД к программе через MySQL Connector ODBC 5.1.9, также установлен MySQL Connector NET 5.2.7.

На моем компе все работает без проблем, при переносе БД на другой комп, к примеру через Backup и попытке подключиться выдает ошибку.

Пробовал установить на другой комп Server и Connector, не помогло.

Подскажите, что делать.. Может есть какой-то лучший способ подключения к БД?
Montysson вне форума Ответить с цитированием
Старый 13.06.2012, 07:58   #2
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Конечно есть. Минуя ODBC и Conector. А тот что NET тебе к чему? Или ты просто все подряд понаставил?
Есть компонеты прямого доступа к мускулю и есть технология dbexpress.
У dbexpress есть свои болячки в виде того что в системе должна присутствовать libmysql.dll причем той же версии что и на сервере.
Ну с прямым по проще но зависит от библиотеки которую будешь пользовать.
Бесплатных только одна это ZeosDBO (как все бесплатное иногда требует доводки напильником), остальные платные MyDAC, UniDAC, AnyDAC, MicroOLAP MySQLDAC. Выбирай и кури. НУ а вообще при правильных действиях в твоем случае не должно возникнуть проблем при деплое.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 13.06.2012, 11:15   #3
Montysson
Пользователь
 
Аватар для Montysson
 
Регистрация: 16.10.2011
Сообщений: 32
По умолчанию

rdama, при правильных действиях.. в моем случае, это установка на другой комп ODBC коннектора, установка и настройка MySQL сервера. Бэкап и востановление БД или копирование с предварительной остановкой сервера. Хорошо еще, что я разобрался как подключить БД без настройки ODBC коннектора через Источники данных ODBC.

NET мне ни к чему, просто друг вчера пытался подключить на моем компе свою БД, тоже мускул, ему для подключения нужен был нэт.

Вчера вкуривал dbexpress, БД у меня не серверная, библиотеку libmysql.dll скинул в папку с программой, не помогло, в папку system32 и SysWOW64, тоже не помогло, вот такая ошибка:



Гуглил вчера эту ошибку, ничего путного..

Еще вкуривал вчера MyDAC, но блин они платные, установил триальную версию. Во-первых, при запуске выпадает окошко информирующее о том, что используются триальные компоненты. Во-вторых, начались проблемы с кодировкой, в БД использую русскую кириллицу cp-1251, при подключении через MyDAC русские символы не отображаются корректно.

ZeosDBO.. не хочется, совсем не хочется оттачивать паяльником.. Да еще учитывая, что у меня Delphi XE, я думаю, что установка превратится в шаманские танцы с бубном.

Сейчас у меня шаманские танцы с бубном в самом разгаре, пытаюсь перенести БД на другой комп:

Ошибка, при запуске моего приложения, видимо устанавливал не ту версия ODBC Connector'а:



Не понятно почему такое сообщение, я нигде жестко пути не задавал.

ConnectionString для подключения:
'Provider=MSDASQL.1;Driver={MySQL ODBC 5.1 Driver};Persist Security Info=False;Server=localhost;Databas e=furndb;User=root; Password=password;Option=3;

Установил другую версию, танцы продолжаются..
Montysson вне форума Ответить с цитированием
Старый 13.06.2012, 11:29   #4
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Ну ошибка скорее всего из-за того что Libmysql необходимо regsvr32 пройтись.
Zeos есть под XE но не на оф сайте а в транках. И скажем так не из стабильной ветки. У него есть определенные проблемы под XE при работе с интерфейсами доступа типа Libmysql их приходится в рантайме присоединять в десиджине он их не видит.
Проблема кодировки лечится очень просто после коннекта сразу послать запрос
Код:
SET NAMES 'CP1251'
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 13.06.2012, 11:33   #5
Montysson
Пользователь
 
Аватар для Montysson
 
Регистрация: 16.10.2011
Сообщений: 32
По умолчанию

rdama, можно по-подробней на счет
Цитата:
Сообщение от rdama Посмотреть сообщение
Ну ошибка скорее всего из-за того что Libmysql необходимо regsvr32 пройтись.
Может действительно перейти на компоненты dbExpress. А перенос в случае перехода как будет осуществляться?
Montysson вне форума Ответить с цитированием
Старый 13.06.2012, 11:45   #6
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Да вот для меня dbExpress скажем так темный лес. Я попробовал попользовать технологию лет 8-10 назад, но у меня не задалось и я отказался от нее. regsvr32 это удилита для регистрации объектов в системе. Находится в system32 Вызов выглядит как regsvr32 <имя библиотеки>
Я пользуюсь либо myDAC, в последнее время uniDAC ибо работаю с различными СУБД.ДА и кроме них никто не мог раньше обработать возвращаемую из хранимки выборку.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 13.06.2012, 11:51   #7
Montysson
Пользователь
 
Аватар для Montysson
 
Регистрация: 16.10.2011
Сообщений: 32
По умолчанию

Если вы так давно работаете с этой БД, вы должно быть хороший специалист! Подскажите как профи, смогу ли я прикрутить uniDAC к делфи? И как осуществляется перенос на другую машину в случае использования myDAC или uniDAC?
Montysson вне форума Ответить с цитированием
Старый 13.06.2012, 12:01   #8
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Ну что myDAC, что uniDAC это компоненты именно для delphi, так что прикручивать не придется. Нашел поставил и вперед.
Перенос в целом у вас верный. Делаете бекап на рабочей машине.
Разворачиваете сервер на другой и из бекапа поднимаете БД.
Я не знаю чем вы бекапитесь. Поэтому сказать про сложности и про преимущества не могу.
Главное это смотрите чтоб настройки серверов в контексте кодировок совпадали. посмотрите my.ini почитайте о ключах и настройках.
Далее если у вас подключение к БД происходит через выбор этой самой БД или вы настройки подключения вынесли в файл. То правите необходимые настройки и вперед.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 13.06.2012, 12:17   #9
Montysson
Пользователь
 
Аватар для Montysson
 
Регистрация: 16.10.2011
Сообщений: 32
По умолчанию

Т.е. я так понимаю подключение через myDAC или uniDAC будет примерно такое же: установка MySQL Server'а, бекап и восстановление БД.

Это все очень сложно для простого пользователя, которому нужно просто установить программу и запустить ее, без настройки сервера MySQL, указания пароля и т.д.

Неужели всегда подключение к БД MySQL происходит так сложно..

Бэкап я делаю через dbForge Studio for MySQL. Что тоже очень не удобно для пользователя..
Montysson вне форума Ответить с цитированием
Старый 13.06.2012, 12:22   #10
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Ну тогда твой вариант это проверка доступности БД.
О том что у нас нет сервера говорить не будем ибо это уже совсем не в тему.
Если она не доступна, то скриптом создается БД и все объекты БД.
Если необходимо первичное заполнение справочников, то скриптами заполняем их. И все. Первичный конект должен быть к системной бд мускуля для создания новой бд. А потом переподключение к вновь созданной бд с целью создания объектов и заполнения справочников.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос программы на другой компьютер Studentka2011 БД в Delphi 11 11.06.2011 03:33
перенос программы на другой компьютер kinnder Помощь студентам 2 07.03.2010 14:05
Перенос БД Access + SQL server на другой компьютер Лукманов Александр Microsoft Office Access 2 06.04.2009 16:42
Почему не работает?? (Перенос программы на другой компьютер) HunterMan Win Api 9 04.06.2008 01:31
Перенос xml БД на другой компьютер. Chaos0xff БД в Delphi 0 11.03.2008 19:58