Russian Qt Forum

Qt => Базы данных => Тема начата: f_evgeny от Январь 19, 2006, 20:21



Название: LINUX+QT4.1 + UNIXODBC + FreeTDS + MSSQL
Отправлено: f_evgeny от Январь 19, 2006, 20:21
Может уже кто-то решил проблему?
Не получается работать с MSSQL через UnixODBC, соединение устанавливается, но на запрос не получаю записей:
Linux: Debian "Sarge"
Qt: 4.1
UnixODBC: 2.2.4
FreeTDS: 0.61
MSSQL: 7.0
Код:

db.setDatabaseName("xxxxx");
db.setHostName ("xxxxx");
db.setUserName ("xxxxx");
db.setPassword("xxxxx");
if (!db.open()) {
  cout << "Can not connect to database" << endl;
}else{
  cout << "Connected!" << endl;
}
QSqlQuery query(db);
query.setForwardOnly( TRUE );
query.exec("SELECT TOP 10 id,name FROM DATABASE.dbo.TESTDB");
query.first();
int size = query.size();
cout << "size = " << size << endl;
if(size < 0 ) {
  qDebug() << query.lastError();
}


Название: LINUX+QT4.1 + UNIXODBC + FreeTDS + MSSQL
Отправлено: Admin от Январь 20, 2006, 00:37
что то у тебя запрос странный по SQL
попробуй просто
query.exec("SELECT id,name FROM DATABASE.dbo.TESTDB");


Название: LINUX+QT4.1 + UNIXODBC + FreeTDS + MSSQL
Отправлено: f_evgeny от Январь 20, 2006, 22:16
Цитата: "Admin"
что то у тебя запрос странный по SQL
попробуй просто
query.exec("SELECT id,name FROM DATABASE.dbo.TESTDB");

Не, с запросом все в порядке, да и пробовал я разные запросы. Из других средств запросы прекрасно работают.


Название: LINUX+QT4.1 + UNIXODBC + FreeTDS + MSSQL
Отправлено: master_volkov от Июнь 10, 2006, 03:19
А как ты настраивал FreeTDS в связке с unixODBC ?
У меня сходная проблема вот только грешу на настройку ибо с остальными BD работает корректно а с M$$QL - записи не возвращает анологично!


Название: LINUX+QT4.1 + UNIXODBC + FreeTDS + MSSQL
Отправлено: master_volkov от Июнь 20, 2006, 12:17
Ну как бы там ни было, я настраивал его настроил до рабочего состояния а потом эту статью написал http://ru.gentoo-wiki.com/HOWTO_unixODBC_and_freetds почитай - с вопросами обращайся :)

добавлено спустя 1 минуту:

 PS. Была, как я уже писал у меня сходная проблема - так оказалось дело в кривой настройке unixODBC - хотя и QT соединения устанавливала :)