Russian Qt Forum

Qt => Базы данных => Тема начата: gashock от Ноябрь 01, 2007, 12:09



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


Название: Re: Коннект из Qt-приложения к MS SQL 2005
Отправлено: Kainit от Ноябрь 01, 2007, 13:07
http://doc.trolltech.com/4.3/sql-driver.html#qodbc-for-open-database-connectivity-odbc (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.

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




Название: Re: Коннект из Qt-приложения к MS SQL 2005
Отправлено: gashock от Ноябрь 01, 2007, 13:56
Спасибо. Буду разбираться


Название: Re: Коннект из Qt-приложения к MS SQL 2005
Отправлено: gashock от Ноябрь 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


Название: Re: Коннект из Qt-приложения к MS SQL 2005
Отправлено: Hellraiser от Ноябрь 02, 2007, 17:45
Вообще-то MS SQL в редакции Express не поддерживает работу по сети


Название: Re: Коннект из Qt-приложения к MS SQL 2005
Отправлено: WW от Ноябрь 02, 2007, 18:06
Вообще-то MS SQL в редакции Express не поддерживает работу по сети
А во вторых: в редакции Express он разрешает коннектиться только через SQLCLI кажется. Sql Native client.


Название: Re: Коннект из Qt-приложения к MS SQL 2005
Отправлено: gashock от Ноябрь 02, 2007, 19:07
Во-первых, MS Sql Server 2005 Express позволяет работать по сети. Проверял с той же связкой, но только под Вин32
Во-вторых, пробовал коннектится к полноценному Sql Server'у, ошибка та же самая.
Вот так вот...


Название: Re: Коннект из Qt-приложения к MS SQL 2005
Отправлено: SerjVarshavskiy от Ноябрь 04, 2007, 14:06
самому предстоит связывать QT c mssql

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

тоже думаю ODBC заюзывать для Qt, наверно будет более абстрактным


Название: Re: Коннект из Qt-приложения к MS SQL 2005
Отправлено: gashock от Ноябрь 04, 2007, 19:18
самому предстоит связывать QT c mssql

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

тоже думаю ODBC заюзывать для Qt, наверно будет более абстрактным
Мож побыстрее начнете пробовать эту связку, мож и мне чего-то подскажете  ;) Пока у меня есть еще время на исследование... :)


Название: Re: Коннект из Qt-приложения к MS SQL 2005
Отправлено: burunduk от Ноябрь 06, 2007, 01:31
у меня такой вопрос недавно тоже стоял, начал пользовать ODBC - пока всё устраивает


Название: Re: Коннект из Qt-приложения к MS SQL 2005
Отправлено: gashock от Ноябрь 06, 2007, 08:21
А не подскажете как Вы настраивали unixODBC?


Название: Re: Коннект из Qt-приложения к MS SQL 2005
Отправлено: burunduk от Ноябрь 06, 2007, 22:14
ой, не заметил, я только под win использую

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


Название: Re: Коннект из Qt-приложения к MS SQL 2005
Отправлено: SerjVarshavskiy от Декабрь 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


Название: Re: Коннект из Qt-приложения к MS SQL 2005
Отправлено: SerjVarshavskiy от Декабрь 26, 2007, 16:07
ААААааааааааа неужели я попал!  :o ??? :-\

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

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

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

 :'(


Название: Re: Коннект из Qt-приложения к MS SQL 2005
Отправлено: Admin от Декабрь 26, 2007, 18:47
когда я работал с ODBC то постоянно одни засады
то BLOB не работает, то еще что то

так что с ODBC такое частенько бывает )


Название: Re: Коннект из Qt-приложения к MS SQL 2005
Отправлено: SerjVarshavskiy от Декабрь 27, 2007, 23:49
а теперь с чем работаете (мсскл на двух платформах)?