Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Питон33
Guest
Версию ODBC MySQL 5.1 сразу откинул в топку, так как с ней одни кракозябры и вопросики в русских базах.
Юзаю такую хрень: mysql-connector-odbc-3.51.27-win32.msi
Она работает на небольших базах нормально, но...
когда я имею по 200000 записей
и в цикле над каждой записью по отдельности начинаю колдовать, делаю UPDATE - мускул тормозит безбожно.
При этом винчестер трещит, а комп гудит всеми своими вентиляторами как проклятый! :))
Прихожу к выводу что v3.51.27 это полная лажа! Ему наверно 1000 лет уже.
Люди дайте в конце концов нормальный русский драйвер odbc?
19 май 11, 18:16    [10680412]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
tanglir
Member

Откуда:
Сообщений: 28966
Питон33, апдейты в транзакцию обернуть не пробовал?
ЗЫ. Других нет.
19 май 11, 18:20    [10680426]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Питон33
Guest
tanglir,

Какие апдейты?
Версию нормального драйвера напиши?
19 май 11, 18:42    [10680527]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
tanglir
Member

Откуда:
Сообщений: 28966
>Какие апдейты?
автор
и в цикле над каждой записью по отдельности начинаю колдовать, делаю UPDATE - мускул тормозит безбожно.
если вышеприведённая цитата означала, что гоняются апдейты в цикле, то есть 10% шанс, что оборачивание их в транзакцию хоть как-то ускорит процесс.
>Версию нормального драйвера напиши?
А почему вы так уверены, что дело именно в драйвере?
19 май 11, 18:48    [10680557]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Sea_Cat
Member

Откуда: Запорожье
Сообщений: 189
Питон33,

Последняя версия драйвера ODBC MySQL 5.1.8, проблем с кириллицей не наблюдается. Пару лет назад у VFP были проблемы с драйверами MySQL ветки 5.1, приводившие к падению фокса, но в последнее время все работает нормально.
Хотя, в плане быстродействия особой разницы между версиями 3.51 и 5.1 нет.
Попробуйте копать в направлении оптимизации запросов, подбора индексов, либо использования ХП.
19 май 11, 19:55    [10680774]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Питон33
Guest
Sea_Cat,

Не ну вы издеваетесь наверно? :))
Возьмите 200 000 записей MySQL и в цикле из фокса сделайте UPDATE.
Вы похоже забыли что вы имеете дело с воротилой в Фоксе! :))
19 май 11, 20:41    [10680882]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Питон33
Guest
tanglir
>Какие апдейты?
автор
и в цикле над каждой записью по отдельности начинаю колдовать, делаю UPDATE - мускул тормозит безбожно.
если вышеприведённая цитата означала, что гоняются апдейты в цикле, то есть 10% шанс, что оборачивание их в транзакцию хоть как-то ускорит процесс.
>Версию нормального драйвера напиши?
А почему вы так уверены, что дело именно в драйвере?

В Дуракцию-Липосакцию! :))
19 май 11, 20:44    [10680890]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Питон33
Guest
Sea_Cat,

Поставил 5.1.8 mysql-connector-odbc-5.1.8-winx64
Строка подключения:
Driver=MySQL ODBC 5.1 Driver;SERVER=127.0.0.1;UID=Логин;PWD=Пароль;DATABASE=База;PORT=3306
У меня не получилось нихрина с русскими буквами - херню при запросе выдаёт.
Driver=MySQL ODBC 5.1
У тебя такой драйвер в строке подключения?
В общем не работает.
19 май 11, 21:22    [10681003]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
tanglir
Member

Откуда:
Сообщений: 28966
Афвтор!
Придумай что-нибудь новенькое, ты уже стал унылей Дедала!
Одна и та же схема:
1) очень неполно описать задачу;
2) без всяких оснований (по кр. мере, на форуме они не озвучиваются) заявить, что причиной проблемы является то-то и то-то;
3) на основании п.2 построить предположение (желательно невыполнимое), как можно решить проблему;
4) запостить пункты 1-3, после чего:
5) гневно отметать любые ответы, не соответствующие пунктам 2 и 3;
6) игнорировать посты, в которых просят описать задачу полнее (п.1);
7) метать кокашки в собеседников, попавших под пункты 5 и 6;
...
10)PROFIT!!!

По сабжу:
>Возьмите 200 000 записей MySQL и в цикле из фокса сделайте UPDATE.
А в хранимку нельзя это обернуть?
20 май 11, 04:25    [10681796]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Dima T
Member

Откуда:
Сообщений: 13673
Питон33
Прихожу к выводу что v3.51.27 это полная лажа! Ему наверно 1000 лет уже.
Люди дайте в конце концов нормальный русский драйвер odbc?

Ты в курсе чем ODBC драйвер занимается? Как вообще размер базы может влиять на производительность ODBC драйвера MySQL?
Драйвер просто передает запрос серверу MySQL, поэтому драйверу без разницы сколько записей в базе, его задача передать запрос и дождаться ответа севера.
Питон33
При этом винчестер трещит, а комп гудит всеми своими вентиляторами как проклятый!

Помотреть какой процесс комп напрягает не пробовал?

tanglir
Афвтор!
Придумай что-нибудь новенькое, ты уже стал унылей Дедала!
Одна и та же схема:

+1
20 май 11, 06:54    [10681825]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Sea_Cat
Member

Откуда: Запорожье
Сообщений: 189
Питон33,

А почитать документацию к драйверу и добавить в строку подключения что-то типа:
...;stmt=set names cp1251;...
не пробовали ?
Если у Вас в базе 200000 записей (что для MySQL сущий пустяк), то уже пора отвыкать от технологии файл-сервер и не тянуть на клиента всю таблицу. Иначе будете иметь, что имеете.
20 май 11, 09:32    [10682186]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
tanglir
Member

Откуда:
Сообщений: 28966
Sea_Cat, для справки: "set names 1251" в пятом драйвере крашит фокс, причина неизвестна, но как избавиться от этого, никто не знает. В третьей версии этой проблемы нет.

В остальном согласен, но замечу, мы не знаем (и, полагаю, так и не узнаем), что именно делает ТС у себя, что на сервере, в каких объёмах и с какой периодичностью.
20 май 11, 12:34    [10683597]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Sea_Cat
Member

Откуда: Запорожье
Сообщений: 189
tanglir,

Да, в недавнем прошлом драйвера MySQL ветви 5.1 при использовании перекодировки в cp1251 вызывали крах фокса - видимо, из-за ошибки при выделении буфера для перекодировки UTF8-cp1251, судя по дампам. Но последние релизы этой ветви у меня работают нормально, где-то уже год крутятся в продакшен.
20 май 11, 13:30    [10684121]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
tanglir
Member

Откуда:
Сообщений: 28966
Sea_Cat, спасибо за инфо.
20 май 11, 13:40    [10684239]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Питон33
Guest
Sea_Cat
tanglir,

Да, в недавнем прошлом драйвера MySQL ветви 5.1 при использовании перекодировки в cp1251 вызывали крах фокса - видимо, из-за ошибки при выделении буфера для перекодировки UTF8-cp1251, судя по дампам. Но последние релизы этой ветви у меня работают нормально, где-то уже год крутятся в продакшен.

У меня почему то не работает этот 5.1 с русским текстом - пишет кракозябрики!
Кодировка базы cp1251.
Драйвер 3.51.27 работает, но обновляет в цикле 200000 записей ужасно медленно.
Покопался в нэте - у людей точно такие же проблемы,ответа нет!
Делал на локальном диске - тоже медленно.
Может у тебя другая версия того же 5.1 ?
Напиши ссылку.
22 май 11, 17:51    [10690697]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Sea_Cat
Member

Откуда: Запорожье
Сообщений: 189
Питон33,

Драйвер ODBC на оффсайте http://dev.mysql.com/downloads/connector/odbc/
23 май 11, 13:41    [10694154]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Питон33
Guest
Sea_Cat
Питон33,

Драйвер ODBC на оффсайте http://dev.mysql.com/downloads/connector/odbc/

Я 5.1 брал с офсайта, после update кракозябрики!
Поменял драйвер на 3.51.27 и после UPDATE всё снова по русски.
Кодировка базы 1251, стоит на денвере, система windows 7.
Можешь прислать свою базу и свой драйвер?
Я сравнить хочу.
23 май 11, 15:37    [10695046]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Sea_Cat
Member

Откуда: Запорожье
Сообщений: 189
Питон33,

Сейчас специально проверил - для нормальной перекодировки в строку подключения нужно добавить опцию:
charset=cp1251
Рекомендую посмотреть http://www.connectionstrings.com/mysql#p31 - там описаны все варианты строк подключения драйверов.
У меня сервера были сконфигурированы с опцией skip-character-set-client-handshake, поэтому достаточно было указать:
stmt=set names=cp1251
Вот рабочая строка подключения:
str_conn="driver=MySQL ODBC 5.1 Driver;server="+m.server+";uid="+m.user+";pwd="+m.sword+";database="+m.baze+";stmt=set names=cp1251;charset=cp1251;"

P.S. Версии серверов с 5.1.46 до 5.1.57. С серверами MySQL ветви 5.6 не пробовал работать, так как "переехал" на PostgreSQL 9.
23 май 11, 20:16    [10696748]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Питон33
Guest
Очень долго добавляет в базу через odbc,
я уже начинаю подозревать майкрософт в умышленном замедлении процесса MySQL и драйвера MySQL.
В MS SQL таких тормозов не было.
Как только пытаюсь из виндовса загнать 100к записей в базу MySQL - это труба...
Попробую пописать в ветке для мускулистов.
12 июн 11, 16:07    [10803904]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Питон33
Guest
Я разобрался в чём дело.
Кому интересно могу объяснить.
Теперь относительно быстро всё обновляет.
6 июл 11, 14:08    [10932188]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Алексей (Витебск)
Member

Откуда:
Сообщений: 411
Питон33,

интересно
6 июл 11, 15:59    [10933360]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Питон33
Guest
Алексей (Витебск)
Питон33,

интересно

Оставь аську я напишу (поделюсь из сострадания,по-скольку в Белоруссии финансовый кризис).
Здесь не хочу выдавать свои секреты ноу хау.
15 июл 11, 17:22    [10981553]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Jura.K
Member

Откуда: г.Кокшетау
Сообщений: 153
Алексей (Витебск),
тоже интересно
Аська 242268690
20 июл 11, 15:26    [11000916]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Jura.K
Member

Откуда: г.Кокшетау
Сообщений: 153
Ну раз Питон33 молчит, хотя давал аську.
Предполагаю, что для ускорения заливки большого количества записей использовалась LOAD DATA LOCAL INFILE.
А если требуется делать UPDATE по большому количеству записей, то в принципе можно создать временную (или постоянную MyIsam) таблицу и залить в нее данные, при помощи
LOAD DATA LOCAL INFILE (или LOAD DATA INFILE).
После чего UPDATE по основной таблице связанной с только что созданной.
Мне кажется что НОУ-ХАУ Питона33 заключается в этом или я не прав ?
Питон33 намекни так или нет ?
22 июл 11, 07:17    [11010308]     Ответить | Цитировать Сообщить модератору
 Re: Драйвер ODBC MySQL для работы с VFP - Дайте последнюю русскую не глючную версию драйвера??  [new]
Питон33
Guest
Jura.K
Ну раз Питон33 молчит, хотя давал аську.
Предполагаю, что для ускорения заливки большого количества записей использовалась LOAD DATA LOCAL INFILE.
А если требуется делать UPDATE по большому количеству записей, то в принципе можно создать временную (или постоянную MyIsam) таблицу и залить в нее данные, при помощи
LOAD DATA LOCAL INFILE (или LOAD DATA INFILE).
После чего UPDATE по основной таблице связанной с только что созданной.
Мне кажется что НОУ-ХАУ Питона33 заключается в этом или я не прав ?
Питон33 намекни так или нет ?

Нет не в этом заключается.
Питон не пропал,просто занят был бандерлогами.
Аська правда непонятно чья, но свяжусь раз обещал.
27 июл 11, 16:45    [11035369]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / FoxPro, Visual FoxPro Ответить