Android — (Necessitas) Microsoft SQL БД доступ дает ошибку при открытии

Я написал программу для доступа к базе данных Microsoft SQL. Он отлично работает на рабочем столе. Но когда я запускаю ту же программу на устройстве Android, я получаю сообщение об ошибке:

04-09 06: 17: 41.784: W / Qt (1240): kernel \ qsqlquery.cpp: 368 (bool
QSqlQuery :: exec (const QString&)): QSqlQuery :: exec: база данных не открыта

Вот мой код:

 QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("Driver={SQL Server};Server=192.168.1.3;Database=sms_exp;");
db.setUserName("sa");
db.setPassword("xxxxxyy");
if(!db.open())
{
qDebug ("Error");
}
else
{
qDebug ("OK");
}

QSqlQuery query (db);
query.exec("SELECT item_code, item_des FROM prod_mast WHERE item_code = 0100000210");
while (query.next())
{
QString name1 = query.value(0).toString();
QString name2 = query.value(1).toString();
qDebug (qPrintable(name1));
qDebug (qPrintable(name2));
}

db.close();

0

Решение

Нет сборки Android драйвера ODBC. Если вы проверите QSqlDatabase::drivers() вы увидите, что в Qt поддерживается только драйвер SQLite для Android.

Единственный способ установить соединение ODBC на Android — это использовать мост JDBC-ODBC, который поддерживает сетевые соединения между клиентом и сервером. JDBC на Android для ODBC на машине с Windows, а затем к драйверу MS Access ODBC.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]