Russian Qt Forum

Qt => Базы данных => Тема начата: jaroslav от Июнь 27, 2013, 15:00



Название: Qt 5.0.2 ODBC
Отправлено: jaroslav от Июнь 27, 2013, 15:00
Всем добрый день. Перешел на Qt 5.0.2 и прога перестала подключаться к БД.
Драйвер QODBC, Qt из исталяшки (бинарники готовые, лежат в папке ..\5.0.2\mingw47_32\plugins\sqldrivers), SQL Server 2005.

Подключение  
Код:
    QString templateString = QString("DRIVER={SQL Server};Server=%1;Database=%2;Uid=%3;Pwd=%4;");
    QString connectionString = QString(templateString).arg(host()).arg(dbname()).arg(user).arg(passwd);
    database = QSqlDatabase::addDatabase(driver(), "Connect");

Данные в эти строки подчитываются из ini
Код:
[database]
driver=QODBC
host=localhost\\MSSQLEXPRESS
dbname=VL

Ошибка
QSqlError(0, "QODBC3: Unable to connect", "[Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию")

На Qt 4.8.4 было тоже такое, проблема была в этой строке host=localhost\\MSSQLEXPRESS


Название: Re: Qt 5.0.2 ODBC
Отправлено: jaroslav от Июнь 27, 2013, 16:46
Вопрос закрыт. Проблема была в строке подключения
В строке
QString templateString = QString("DRIVER={SQL Server};Server=%1;Database=%2;Uid=%3;Pwd=%4;");
Вместо SQL Server
Нада SQL Native Client
Странно, на Qt 4.8.4 могу ошибаться, не помню точно, но такая запись не проходила.


Название: Re: Qt 5.0.2 ODBC
Отправлено: jaroslav от Июнь 27, 2013, 16:55
Ага, рано обрадовался. Данные то не читает, хотя подключение проходит.