Назад | Перейти на главную страницу

Соединитель MySQL ODBC и проблема unixODBC - искаженные соединения

Чертовски много времени, пытаясь изолировать проблему при установке нового сервера:

Я установил MySQL, unixODBC и MySQL Connector для ODBC, установил odbc.ini и odbcinst.ini, как и в других 32-битных системах, но у меня возникла проблема с приложениями (кроме PHP), получающими искаженные данные после запроса.

Вот что возвращает прямой запрос MySQL для целей управления:

mysql> select id,username from users limit 3;
+------+----------+
| id   | username |
+------+----------+
|  786 | 101010   |
|  587 | 1234     |
| 1124 | 123456   |
+------+----------+
3 rows in set (0.00 sec)

mysql>


Та же команда в isql через ODBC возвращает этот искаженный результат, возвращается только первая часть данных:

SQL> select id,username from users limit 3;
+-----------+---------------------------------+
| id        | username                        |
+-----------+---------------------------------+
| 786       |
|
|
+-----------+---------------------------------+
SQLRowCount returns 3
3 rows fetched
SQL>


Мои приложения, такие как isql, не могут возвращать более одного фрагмента данных. Как ни странно, скрипты PHP работают нормально, но, к сожалению, мои приложения не основаны на PHP. Вот форматированный вывод PHP:

ID: 786  Username:  101010
ID: 587  Username:  1234
ID: 1124  Username:  123456


odbc.ini

[site-db]
Description     = MySQL ODBC Site DB
Driver          = MySQL
User            = root
Password        = password
Database        = test
Option          = 3
Socket          = /var/lib/mysql/mysql.sock


odbcinst.ini

[MySQL]
DRIVER          = /usr/lib64/libmyodbc3.so
UsageCount              = 1


Системная информация:

ОС: CentOs 5.7 x86_64
MySQL: Версия сервера: 5.5.20-log Сервер сообщества MySQL (GPL) от Remi x86_64
Коннектор MySQL: v3.51.30-0 x86_64
unixODBC: 2.2.11 x86_64

Если кто-нибудь может сделать какие-то предложения относительно того, как я могу решить эту проблему, я был бы очень признателен.

Использование RPM от MySQL было неправильным путем. Нашел RPM для EL5, который работал без сбоев, понятия не имею, что он не показывал в репозиториях YUM ... но теперь все хорошо.