diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/jython/PluginScriptRunnerFactory.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/jython/PluginScriptRunnerFactory.java
index 0a87becfa77b7c5a4506e51ee97bdbad0bf07cf3..36489f3953dd109d321398f7ded32ea13202bdea 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/jython/PluginScriptRunnerFactory.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/jython/PluginScriptRunnerFactory.java
@@ -32,6 +32,7 @@ import ch.systemsx.cisd.openbis.dss.generic.server.plugins.jython.api.IDataSet;
 import ch.systemsx.cisd.openbis.dss.generic.server.plugins.jython.api.IMailService;
 import ch.systemsx.cisd.openbis.dss.generic.shared.DataSetProcessingContext;
 import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider;
+import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IDataSourceQueryService;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.ISearchService;
 import ch.systemsx.cisd.openbis.generic.shared.managed_property.api.ISimpleTableModelBuilderAdaptor;
 
@@ -45,6 +46,8 @@ class PluginScriptRunnerFactory implements IPluginScriptRunnerFactory
 
     private final static String SEARCH_SERVICE_VARIABLE_NAME = "searchService";
 
+    private final static String DATA_SOURCE_QUERY_SERVICE_VARIABLE_NAME = "queryService";
+
     private final static String MAIL_SERVICE_VARIABLE_NAME = "mailService";
 
     private final String scriptPath;
@@ -139,6 +142,7 @@ class PluginScriptRunnerFactory implements IPluginScriptRunnerFactory
         final Evaluator evaluator = new Evaluator("", null, scriptString, false);
         evaluator.set(SEARCH_SERVICE_VARIABLE_NAME, createSearchService());
         evaluator.set(MAIL_SERVICE_VARIABLE_NAME, createMailService(context));
+        evaluator.set(DATA_SOURCE_QUERY_SERVICE_VARIABLE_NAME, createDataSourceQueryService());
         return evaluator;
     }
 
@@ -147,6 +151,11 @@ class PluginScriptRunnerFactory implements IPluginScriptRunnerFactory
         return ServiceProvider.getSearchService();
     }
 
+    private static IDataSourceQueryService createDataSourceQueryService()
+    {
+        return ServiceProvider.getDataSourceQueryService();
+    }
+
     private static IMailService createMailService(DataSetProcessingContext context)
     {
         return new MailService(context.getMailClient(), context.getUserEmailOrNull());
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ServiceProvider.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ServiceProvider.java
index fbe06c54e8b07cd6435d7889d73b16294140bf00..462e48b63097b6ccab58557c8c31d1095ddf4b95 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ServiceProvider.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ServiceProvider.java
@@ -26,6 +26,8 @@ import com.marathon.util.spring.StreamSupportingHttpInvokerServiceExporter;
 
 import ch.systemsx.cisd.common.logging.LogCategory;
 import ch.systemsx.cisd.common.logging.LogFactory;
+import ch.systemsx.cisd.etlserver.registrator.api.v1.impl.DataSourceQueryService;
+import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IDataSourceQueryService;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.ISearchService;
 
 /**
@@ -104,6 +106,11 @@ public class ServiceProvider
         return ((ISearchService) getApplicationContext().getBean("search-service"));
     }
 
+    public static IDataSourceQueryService getDataSourceQueryService()
+    {
+        return new DataSourceQueryService();
+    }
+
     public static IDataSetPathInfoProvider getDataSetPathInfoProvider()
     {
         return ((IDataSetPathInfoProvider) getApplicationContext().getBean(