Index: trunk/psModules/src/config/pmConfigCommand.c
===================================================================
--- trunk/psModules/src/config/pmConfigCommand.c	(revision 18908)
+++ trunk/psModules/src/config/pmConfigCommand.c	(revision 18937)
@@ -13,30 +13,20 @@
     PS_ASSERT_PTR_NON_NULL(command, false);
     PS_ASSERT_PTR_NON_NULL(config, false);
-    PS_ASSERT_PTR_NON_NULL(config->user, false);
 
-    bool mdok;                          // Status of MD lookup
-    const char *dbserver = psMetadataLookupStr(&mdok, config->user, "DBSERVER"); // Database server
-    if (!mdok || strlen(dbserver) == 0) {
-        psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to find DBSERVER in site configuration.\n");
-        return false;
-    }
-    const char *dbname = psMetadataLookupStr(&mdok, config->user, "DBNAME"); // Database name
-    if (!mdok || strlen(dbname) == 0) {
-        psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to find DBNAME in site configuration.\n");
-        return false;
-    }
-    const char *dbuser = psMetadataLookupStr(&mdok, config->user, "DBUSER"); // Database user
-    if (!mdok || strlen(dbuser) == 0) {
-        psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to find DBUSER in site configuration.\n");
-        return false;
-    }
-    const char *dbpassword = psMetadataLookupStr(&mdok, config->user, "DBPASSWORD"); // Database password
-    if (!mdok || strlen(dbpassword) == 0) {
-        psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to find DBPASSWORD in site configuration.\n");
-        return false;
+    // Connection details
+    psMetadataItem *server = pmConfigUserSite(config, "DBSERVER",   PS_DATA_STRING);
+    psMetadataItem *user   = pmConfigUserSite(config, "DBUSER",     PS_DATA_STRING);
+    psMetadataItem *pass   = pmConfigUserSite(config, "DBPASSWORD", PS_DATA_STRING);
+    psMetadataItem *name   = pmConfigUserSite(config, "DBNAME",     PS_DATA_STRING);
+
+    if (!server || !user || !pass || !name) {
+        psWarning("Cannot find DBSERVER/DBUSER/DBPASSWORD/DBNAME in user or site configuration: "
+                  "unable to connect to database.");
+        psErrorClear();
+        return NULL;
     }
 
     psStringAppend(command, " -dbserver %s -dbname %s -dbuser %s -dbpassword %s",
-                   dbserver, dbname, dbuser, dbpassword);
+                   server->data.str, name->data.str, user->data.str, pass->data.str);
 
     return true;
