Russian Qt Forum
Ноябрь 24, 2024, 11:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QODBC под FreeBSD - Unable to fetch next  (Прочитано 2539 раз)
Mike
Гость
« : Июнь 24, 2010, 10:21 »

Работаю с MS SQL Server
Программу пробовал на винде и на FreeBSD. На винде все работает.
На FreeBSD так:

Делаю обычный select запрос. (Что самое интересное - запосы insert и update работают.)
Соединяюсь с базой - ошибок нет (db.open() возвращает true).
Выполняю запрос - ошибок нет (qry.exec() возвращает true).
Пытаюсь бегать по записям - qry.next() возвращает false, а qry.lastError().text() - QODBC3: Unable to fetch next

Пробовал ставить для запроса делать qry.setForwardOnly(true); - не помогает

ODBC драйвер - freetds. Я так понимаю, косяк в нем. Так как на винде все работает, да и insert и update работают нормально.

Настройки драйвера:
файл freetds.conf
Код:
[VMSrvDB]
host = тут ip сервера с БД
port = тут порт сервера с БД
tds version = 8.0
client charset = UTF-8

файл odbcinst.ini
Код:
[ODBC Drivers]
FreeTDS = Installed

[FreeTDS]
Driver = /usr/local/lib/libtdsodbc.so

Строка подключения
Код:
DRIVER=FreeTDS;Servername=VMSrvDB;UID=<пользователь>;PWD=<пароль>;DATABASE=<БД>


Записан
Mike
Гость
« Ответ #1 : Июнь 24, 2010, 14:02 »

Исправил. После долгих поисков на просторах интернета нашел указания:
ищем файл src/sql/drivers/odbc/qsql_odbc.cpp и заменяем все вхождения SQL_OV_ODBC2 на SQL_OV_ODBC3 и перекомпиливаем драйвер QODBC
После этого все работает
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 21.