powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Настройка ODBC
10 сообщений из 10, страница 1 из 1
Настройка ODBC
    #38358176
egorius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется ODBC подключение к MySQL серверу. Проблема в следующем:
- при использовании драйвера 5.1 при попытке вставки в таблицу получаю ошибку
Server does not support 4-byte encoded UTF8 characters
- при использовании драйвера 3.51 вышеуказанная ошибка пропадает, но при запросе SELECT... возвращается только первая строчка (с 5.1 такого не происходит)

Не хочется устраивать зоопарк из отдельных драйверов для каждого запроса, как бы заставить работать правильно хотя бы один из них?
...
Рейтинг: 0 / 0
Настройка ODBC
    #38358213
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorius,

так вы покажите тут "хотя бы один из них"

и ещё - с вашей стороны одбц-драйвера какой клиент?
...
Рейтинг: 0 / 0
Настройка ODBC
    #38358244
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egoriusно при запросе SELECT... возвращается только первая строчка (с 5.1 такого не происходит)ХШ говорит, что вы пытаетесь вставить несколько записей несколькими же запросами в одном "батче". Или посылайте каждый запрос отдельно, или включайте multiple statements в св-вах подключения - http://dev.mysql.com/doc/refman/5.0/en/connector-odbc-configuration-connection-parameters.html#codbc-dsn-option-flags
PS. Кстати, поиск выдаёт это и это .
...
Рейтинг: 0 / 0
Настройка ODBC
    #38358344
egorius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tangliregorius,
так вы покажите тут "хотя бы один из них"



Все параметры по-умолчанию, кроме Disable transaction support, который я установил в 1
tanglirи ещё - с вашей стороны одбц-драйвера какой клиент?
Ascential DataStage 7.5.2
tanglirХШ говорит, что вы пытаетесь вставить несколько записей несколькими же запросами в одном "батче". Или посылайте каждый запрос отдельно, или включайте multiple statements в св-вах подключения

Кто такой ХШ и с чего он взял, что я выполняю пакет?
Еще разок:
- на драйвере 5.2 при инсерте у меня ошибка размера UTF символов. Селект возвращает правильное количество строк
тот самый поиск дает два вариант решения - проапгрейдить сервер (не мой вариант) и использовать версию драйвера 3.5, что я и сделал
- на драйвере 3.5 проблемы с инсертом ушли, но при любом запросе я получаю только одну строку. На 5.2 такой проблемы не было.
поиск дает такой вариант решения: установить параметр "numeric setting" в значение "Use US settings". В списке параметров ничего похожего не нашел
...
Рейтинг: 0 / 0
Настройка ODBC
    #38358790
lookat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
egorius,

Есть два варианта ODBC 5.2 драйверов -- Unicode и ANSI.
(и только один вариант драйвера 3.51 -- ANSI).
Какой используете? Если только один из двух, то мб попробовать второй?
...
Рейтинг: 0 / 0
Настройка ODBC
    #38359053
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egoriusКто такой ХШ и с чего он взял, что я выполняю пакет?1)ХШ - Хрустальный Шар. Помогает форумным телепатам и уподобляющимся им догадываться о не озвученных, но важных моментах :)
2)С того, что "селект возвращает только одну строку". Откуда следует очевидный вывод, что должен возвращать не одну, иначе вы бы этого и не писали. Откуда следует другой, не менее очевидный вывод, что и вставлять вы пытаетесь не одну строку, а несколько. Ну а самая очевидна причина, почему они все не вставляются - батч-вставка + отключенный параметр "Allow multiple statements". Кстати, это подтверждается вашим скриншотом (посмотрите внимательно на вторую снизу галочку).

egorius- на драйвере 3.5 проблемы с инсертом ушли, но при любом запросе я получаю только одну строку.Т.е. при любом запросе к любой таблице, даже к той, где ещё до всех ваших попыток инсерта были записи? Так и надо было сразу написать. Как можно понять ваш стартпост без этого уточнения - см. выше :)
...
Рейтинг: 0 / 0
Настройка ODBC
    #38359117
egorius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lookategorius,

Есть два варианта ODBC 5.2 драйверов -- Unicode и ANSI.
(и только один вариант драйвера 3.51 -- ANSI).
Какой используете? Если только один из двух, то мб попробовать второй?
Пробовал оба варианта. ANSI вариант даже селектит с ошибками, так как база юникодовая. Юникодовый драйвер спотыкается только при инсерте.
...
Рейтинг: 0 / 0
Настройка ODBC
    #38359125
egorius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tangliregoriusКто такой ХШ и с чего он взял, что я выполняю пакет?1)ХШ - Хрустальный Шар. Помогает форумным телепатам и уподобляющимся им догадываться о не озвученных, но важных моментах :)
2)С того, что "селект возвращает только одну строку". Откуда следует очевидный вывод, что должен возвращать не одну, иначе вы бы этого и не писали. Откуда следует другой, не менее очевидный вывод, что и вставлять вы пытаетесь не одну строку, а несколько. Ну а самая очевидна причина, почему они все не вставляются - батч-вставка + отключенный параметр "Allow multiple statements". Кстати, это подтверждается вашим скриншотом (посмотрите внимательно на вторую снизу галочку).

egorius- на драйвере 3.5 проблемы с инсертом ушли, но при любом запросе я получаю только одну строку.Т.е. при любом запросе к любой таблице, даже к той, где ещё до всех ваших попыток инсерта были записи? Так и надо было сразу написать. Как можно понять ваш стартпост без этого уточнения - см. выше :)

Не, хрустальный шар ошибается. Инсерты я делаю по одному, но в цикле (а не в батче). "Allow multiple statements" в моем случае в принципе не актуален, так как стейжу на выходе нужен только один набор данных, а результаты нескольких выражений его с ума сведут :) Ну и что бы уж совсем убедить ХШ - в логах одбс на каждую сессию идет по одному запросу :)
...
Рейтинг: 0 / 0
Настройка ODBC
    #38359403
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, ошибается, так ошибается. Бывает и такое :)
А результат выполнения каждого отдельного инсерта - положительный? Ошибок в процессе не возникает? Пробовали обернуть всю эту кучу инсертов в транзакцию (если у вас иннодб)?
...
Рейтинг: 0 / 0
Настройка ODBC
    #38360112
egorius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не, инсерты проходят без проблем.
С транзакциями так же борода - их поддержку я отключил на уровне драйвера. Была ошибка
Commands out of sync; you can't run this command now
Судя по описанию, я пытаюсь получить данные заброса не обработав данные предыдущего. В логах odbc перед выполнением каждого запроса добавляется
SELECT DISTINCT `Computer`, `SoftwareProduct`, `DataStore` FROM MetaStage_Loc_Info;
Подозреваю ругался он на меня, что я не читаю результаты этого селекта. Особо вникать в суть вопроса не стал - отключил поддержку транзакций ибо у меня там каких-то нюансов с целостностью данных быть не может.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Настройка ODBC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]