Sqlite3 сеть странность - PullRequest
0 голосов
/ 05 июля 2011

У меня есть простая программа QT для чтения базы данных sqlite3.Досадно, что моя программа завершилась неудачно, когда фактическая база данных находится в сети как подключенный диск (Windows 7), но работает, когда база данных находится на локальном диске.Код, который я использую, приведен ниже и только для экспериментальных целей.

    QFileInfo fileInfo(m_lastDatabaseFile);
    QString host = fileInfo.canonicalPath();
    QString filename = fileInfo.fileName();
    m_dataBase = QSqlDatabase::addDatabase("QSQLITE");
    m_dataBase.setHostName(host);
    m_dataBase.setDatabaseName(filename);
    qDebug() << " valid: " << m_dataBase.isValid(); 
    if (m_dataBase.open() )
    {
        QStringList tableList = m_dataBase.tables(QSql::Tables);
        qDebug() << "Database open.";
        QSqlQuery query = m_dataBase.exec("SELECT * FROM PallolBoards");

        qDebug() << "Found: " << query.size();
        if (query.size() <= 0)
        {

            QSqlError err = query.lastError();
            qDebug() << "Last error: " << err.text();

        }
        while (query.next() )
        {
            QString title = query.value(0).toString();
            qDebug() << "Query: " << title;
        }
    }
    else
    {
        QMessageBox::critical(this,"Invalid database",m_dataBase.lastError().text());
    }

Есть какие-нибудь подсказки?Так что H: потерпит неудачу, а D: удастся.

1 Ответ

1 голос
/ 05 июля 2011

По крайней мере в Windows Vista был параметр безопасности, контролирующий, разрешено ли приложению получать доступ к сетевым ресурсам или нет.

Существует также зависимость между настройками безопасности Интернета (доступными, например, через Internet Explorer) и доступом к сетевым ресурсам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...