summaryrefslogtreecommitdiff
path: root/dbaccess/source/core/dataaccess/datasource.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'dbaccess/source/core/dataaccess/datasource.cxx')
-rw-r--r--dbaccess/source/core/dataaccess/datasource.cxx14
1 files changed, 8 insertions, 6 deletions
diff --git a/dbaccess/source/core/dataaccess/datasource.cxx b/dbaccess/source/core/dataaccess/datasource.cxx
index 9093cd622925..d06413fc59dd 100644
--- a/dbaccess/source/core/dataaccess/datasource.cxx
+++ b/dbaccess/source/core/dataaccess/datasource.cxx
@@ -575,22 +575,24 @@ void ODatabaseSource::disposing()
m_pImpl.clear();
}
+OUString SAL_CALL ODatabaseSource::getConnectionUrl()
+{
+ return m_pImpl->m_sConnectURL;
+}
+
Reference< XConnection > ODatabaseSource::buildLowLevelConnection(const OUString& _rUid, const OUString& _rPwd)
{
Reference< XConnection > xReturn;
Reference< XDriverManager > xManager;
- bool bNeedMigration = false;
OUString sMigrEnvVal;
osl_getEnvironment(OUString("DBACCESS_HSQL_MIGRATION").pData,
&sMigrEnvVal.pData);
- if( m_pImpl->m_sConnectURL == "sdbc:embedded:hsqldb" &&
- !sMigrEnvVal.isEmpty())
- {
+ bool bNeedMigration = m_pImpl->m_sConnectURL == "sdbc:embedded:hsqldb" &&
+ (m_bMigationNeeded || !sMigrEnvVal.isEmpty());
+ if(bNeedMigration)
m_pImpl->m_sConnectURL = "sdbc:embedded:firebird";
- bNeedMigration = true;
- }
try {
xManager.set( ConnectionPool::create( m_pImpl->m_aContext ), UNO_QUERY_THROW );