LINUX.ORG.RU

UnixODBC и unicode

 , , ,


0

1

Доброго времени ЛОР. Ну как вы тут? Все нормально?

Хотел спросить у вселенского разума совета. Суть в том, что хочется включить pooling в unixodbc, но этому мешает то, что при использовании CPTimeout = 120 sql запросы содержащие unicode не работают. То есть например если выключить Pooling (закоментить CPTIMEOUT) то

select 'Тест' from dual;
+---------------------------------+
| 'ТЕСТ'                      |
+---------------------------------+
| Тест                        |
+---------------------------------+
SQLRowCount returns -1
1 rows fetched
возвращается читабельно. Если включить то возвращает кракозябры. Драйвер ora при этом используется один и тот же, с одинаковым окружением.

Возможно при CPTimeout =120 используется SQLConnect вместо SQLConnectW и проблема в этом?

Ответ на: комментарий от crutch_master

Ну так конечно, ничто не идеально. Подсунешь другую прослойку - в ней также чего то не будет. И плюсом потратишь человеко часы на перенастройку с одной прослойки на другую. Так что если есть предложения как это можно починить - я внимательно выслушаю. А вот это вот все в стиле «Нафиг тебе ‘А’, используй ‘В’» давно уже не смешно даже на ЛОРе)

partyzan ★★★ ()
Ответ на: комментарий от partyzan

Так что если есть предложения как это можно починить - я внимательно выслушаю.

Раскуривать сорцы и патчить. Или просить, чтобы починили.

вот это вот все в стиле «Нафиг тебе ‘А’, используй ‘В’»

Ну если ты используешь какое-то полузаброшенное ПО с очевидными багами, что тебе еще предлагать?

crutch_master ★★★★★ ()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от partyzan

Вон там была куча плагинов для твоего забикса на го, пистоне, etc. Я вообще в первый раз вижу, что кто-то использует odbc за пределами венды и не для какого-нибудь легаси типа foxpro (хотя для него odbc тоже не используют). Если нужно одно api для всех рсубд, то это jdbc, но там ява.

crutch_master ★★★★★ ()
Последнее исправление: crutch_master (всего исправлений: 1)