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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Коннект из Qt-приложения к MS SQL 2005  (Прочитано 13245 раз)
gashock
Гость
« : Ноябрь 01, 2007, 12:09 »

Собственно сабж. Я так понимаю, что здесь нужно заюзать ODBC-драйвер. Но вот один ньюанс - приложение должно работать под Linux'ом. Так вот, реально ли сростить линуксовое Qt-приложение с MS SQL Server 2005, работающим под Win-сервером?
Заранее благодарен за вразумительные ответы
Записан
Kainit
Гость
« Ответ #1 : Ноябрь 01, 2007, 13:07 »

http://doc.trolltech.com/4.3/sql-driver.html#qodbc-for-open-database-connectivity-odbc

It is recommended that you use unixODBC. You can find the latest version and ODBC drivers at http://www.unixodbc.org. You need the unixODBC header files and shared libraries.

А вообще, тупым поиском по форуму на такие вопросы ответы находятся моментально.


Записан
gashock
Гость
« Ответ #2 : Ноябрь 01, 2007, 13:56 »

Спасибо. Буду разбираться
Записан
gashock
Гость
« Ответ #3 : Ноябрь 02, 2007, 17:43 »

Сделал все как описано в http://ru.gentoo-wiki.com/HOWTO_unixODBC_and_freetds
Так вот при выполнении коннекта вываливается следующая ошибка
An error occured while opening the connection: [unixODBC][Driver Manager]Driver's SQLAllocHandle on SQL_HANDLE_HENV failed. QODBC3: Unable to connect

P.S. Клиент: Mandriva 2007 Free, Qt 4.3, unixODBC, freetds
Сервер: MS SQL Server 2005 Express, Windows XP SP2
Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #4 : Ноябрь 02, 2007, 17:45 »

Вообще-то MS SQL в редакции Express не поддерживает работу по сети
Записан
WW
Гость
« Ответ #5 : Ноябрь 02, 2007, 18:06 »

Вообще-то MS SQL в редакции Express не поддерживает работу по сети
А во вторых: в редакции Express он разрешает коннектиться только через SQLCLI кажется. Sql Native client.
Записан
gashock
Гость
« Ответ #6 : Ноябрь 02, 2007, 19:07 »

Во-первых, MS Sql Server 2005 Express позволяет работать по сети. Проверял с той же связкой, но только под Вин32
Во-вторых, пробовал коннектится к полноценному Sql Server'у, ошибка та же самая.
Вот так вот...
Записан
SerjVarshavskiy
Гость
« Ответ #7 : Ноябрь 04, 2007, 14:06 »

самому предстоит связывать QT c mssql

на с++ (win,linux) делал это с помощью http://odbtp.sourceforge.net/

тоже думаю ODBC заюзывать для Qt, наверно будет более абстрактным
Записан
gashock
Гость
« Ответ #8 : Ноябрь 04, 2007, 19:18 »

самому предстоит связывать QT c mssql

на с++ (win,linux) делал это с помощью http://odbtp.sourceforge.net/
Указанная линка, конечно же, интересная. Спасибо. Но я так понимаю, чтобы нормально заюзать эту либу с Qt нужно будет не один метр кода врапперов написать... Неприемлимо по срокам.

тоже думаю ODBC заюзывать для Qt, наверно будет более абстрактным
Мож побыстрее начнете пробовать эту связку, мож и мне чего-то подскажете  Подмигивающий Пока у меня есть еще время на исследование... Улыбающийся
Записан
burunduk
Гость
« Ответ #9 : Ноябрь 06, 2007, 01:31 »

у меня такой вопрос недавно тоже стоял, начал пользовать ODBC - пока всё устраивает
Записан
gashock
Гость
« Ответ #10 : Ноябрь 06, 2007, 08:21 »

А не подскажете как Вы настраивали unixODBC?
Записан
burunduk
Гость
« Ответ #11 : Ноябрь 06, 2007, 22:14 »

ой, не заметил, я только под win использую

А не подскажете как Вы настраивали unixODBC?
Записан
SerjVarshavskiy
Гость
« Ответ #12 : Декабрь 26, 2007, 01:54 »

А не подскажете как Вы настраивали unixODBC?

разобрался?
у мня заработало, завтра с кодировками поиграю http://prog.org.ru/forum/index.php/topic,3634.msg15605.html#msg15605
сегодня вечером ставил на gentoo (ip сервера localhost, т.к. 1433 вытягиваю по тунелю с сервера мсскл),
вообще использовал ODBCConfig (вызвать под рутом), вот что вышло:

USE="qt" emerge unixODBC
USE="mssql odbc" emerge freetds
 
/etc/freetds.conf строки :
[testmssrv]
  host = 127.0.0.1
  port = 1433
  tds version = 8.0
 
проверяем, видно ли MSSQL:
 tsql -S testmssrv -U testuser
 select * from testbd
 go
должны увидеть наши данные.
 
/etc/unixODBC/odbc.ini:
[MSSQLmy]
Description             = TDS
Driver          = TDS
Servername              = testmssrv
Server          = winserv
Address         = 127.0.0.1
Port            = 1433
Database                = mydatabase
TDS_Version             = 8.0
Language                = us_english
TextSize                =
Domain          =
PacketSize              =
 
/etc/unixODBC/odbcinst.ini:
[tdS] !!!!!!!!! - заглавными! что-то форум не даёт написать [tdS] как положено заглавными  Непонимающий
Description             = v0.64 with protocol v8.0
Driver          = /usr/lib/libtdsodbc.so.0
Driver64                =
Setup           = /usr/lib/libtdsodbc.so.0
Setup64         =
UsageCount              = 1
CPTimeout               =
CPReuse         =
 
проверим доступ:
isql -v MSSQLmy user userpass
« Последнее редактирование: Декабрь 26, 2007, 01:57 от SerjVarshavskiy » Записан
SerjVarshavskiy
Гость
« Ответ #13 : Декабрь 26, 2007, 16:07 »

ААААааааааааа неужели я попал!  Шокированный Непонимающий В замешательстве

http://trolltech.com/developer/task-tracker/index_html?method=entry&id=154373

при коннекте выдаёт qGetStringData: Error while fetching data (-1)

ждать кутю 4.4 ?
неужели я один несчастный

 Плачущий
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #14 : Декабрь 26, 2007, 18:47 »

когда я работал с ODBC то постоянно одни засады
то BLOB не работает, то еще что то

так что с ODBC такое частенько бывает )
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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