diff --git a/modules/Bio/EnsEMBL/DBSQL/DBConnection.pm b/modules/Bio/EnsEMBL/DBSQL/DBConnection.pm
index a3e1af023af7640f07bf7a2022a7760bdefd410b..67724fb2281013ae44e3d123d2ec32d70432778f 100644
--- a/modules/Bio/EnsEMBL/DBSQL/DBConnection.pm
+++ b/modules/Bio/EnsEMBL/DBSQL/DBConnection.pm
@@ -281,6 +281,36 @@ sub password {
 }
 
 
+
+=head2 locator
+
+  Arg [1]    : none
+  Example    : $locator = $dbc->locator;
+  Description: Constructs a locator string for this database connection
+               that can, for example, be used by the DBLoader module
+  Returntype : string
+  Exceptions : none
+  Caller     : general
+
+=cut
+
+
+sub locator {
+  my $self = shift;
+  
+  my $ref;
+
+  if($self->isa('Bio::EnsEMBL::Container')) {
+    $ref = ref($self->_obj);
+  } else {
+    $ref = ref($self);
+  }
+
+  return "$ref/host=".$self->host.";port=".$self->port.";dbname=".
+    $self->dbname.";user=".$self->username.";pass=".$self->password;
+}
+
+
 =head2 _get_adaptor
 
   Arg [1]    : string $module