0
0
mirror of https://github.com/fralx/LimeReport.git synced 2024-12-24 08:34:38 +03:00

Connection will be restored if server is gone away or drop limereport connection

This commit is contained in:
Arin Alexander 2017-02-11 00:24:59 +03:00
parent f7a3ff622b
commit 8659818a30
2 changed files with 10 additions and 2 deletions

View File

@ -735,6 +735,11 @@ void DataSourceManager::setReportSettings(ReportSettings *reportSettings)
m_reportSettings = reportSettings;
}
bool DataSourceManager::checkConnection(QSqlDatabase db){
QSqlQuery query("Select 1",db);
return query.first();
}
bool DataSourceManager::connectConnection(ConnectionDesc *connectionDesc)
{
@ -759,7 +764,10 @@ bool DataSourceManager::connectConnection(ConnectionDesc *connectionDesc)
db.close();
connected = initAndOpenDB(db, *connectionDesc);
} else {
connected = db.isOpen();
//connected = db.isOpen();
connected = checkConnection(db);
if (!connected)
connected = initAndOpenDB(db, *connectionDesc);
}
}

View File

@ -221,7 +221,7 @@ protected:
void setSystemVariable(const QString& name, const QVariant& value, RenderPass pass);
void setLastError(const QString& value);
void invalidateLinkedDatasources(QString datasourceName);
bool checkConnection(QSqlDatabase db);
private slots:
void slotConnectionRenamed(const QString& oldName,const QString& newName);
void slotQueryTextChanged(const QString& queryName, const QString& queryText);