diff options
author | Oliver Tappe | 2007-04-30 23:30:09 +0200 |
---|---|---|
committer | Oliver Tappe | 2007-04-30 23:30:09 +0200 |
commit | 525a788603387bcc8bf8b5d868d00ffbb153c492 (patch) | |
tree | cc93cb04544bd31e3c73fedcdf798004cd2279ae /config-db/OpenSLX/ConfigDB.pm | |
parent | * improved die() and warn() to fall back to the respective CORE-functions unl... (diff) | |
download | core-525a788603387bcc8bf8b5d868d00ffbb153c492.tar.gz core-525a788603387bcc8bf8b5d868d00ffbb153c492.tar.xz core-525a788603387bcc8bf8b5d868d00ffbb153c492.zip |
* improved error handling during installation and execution in case the DB-module
can't be loaded (because of missing DBD::-modules).
Closes ticket #118
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@971 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'config-db/OpenSLX/ConfigDB.pm')
-rw-r--r-- | config-db/OpenSLX/ConfigDB.pm | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/config-db/OpenSLX/ConfigDB.pm b/config-db/OpenSLX/ConfigDB.pm index 8023cd2a..78a13e05 100644 --- a/config-db/OpenSLX/ConfigDB.pm +++ b/config-db/OpenSLX/ConfigDB.pm @@ -168,7 +168,17 @@ sub connect $dbModule, $VERSION, $modVersion); } my $metaDB = $dbModule->new(); - $metaDB->connect($dbParams); + if (!eval '$metaDB->connect($dbParams);1') { + warn _tr("Unable to connect to DB-module <%s>\n%s", $dbModule, $@); + warn _tr("These DB-modules seem to work ok:"); + foreach my $dbMod ('CSV', 'mysql', 'SQLite') { + if (eval "require DBD::$dbMod;") { + vlog 0, "\t$dbMod\n"; + } + } + die _tr('Please use slxsettings to switch to another db-type.'); + } + $self->{'db-type'} = $dbType; $self->{'meta-db'} = $metaDB; foreach my $tk (keys %{$DbSchema->{tables}}) { |