Hi Syed,
Found it. In BioMart::Initializer::_populateRegistry() the configurator
key did not take the schema into account.
In our case, the virtual schema contains 2 dblocations in the same
datase on the same server but using a different schema.
This fixed our problem:

*** lib/BioMart/Initializer.pm  2007-09-30 22:27:00.000000000 +0200
--- InitializerFixed.pm 2007-09-30 22:28:11.000000000 +0200
*************** sub _populateRegistry {
*** 1156,1162 ****
                my $configuratorKey;
                if($location->database)
                {
!                    $configuratorKey =
$location->database.'_'.$location->host.'_'.$location->port;
                }
                else ## dicty case
                {
--- 1156,1162 ----
                my $configuratorKey;
                if($location->database)
                {
!                   $configuratorKey = join '_', $location->database,
$location->schema, $location->host, $location->port; 
                }
                else ## dicty case
                {


Regards,
Marc


Marc Logghe, PhD
Head Scientific Computing
deVGen NV
Technologiepark 30
B - 9052 Ghent-Zwijnaarde
Tel. +32 9 324 24 83
Fax. +32 9 324 24 25
Web: www.devgen.com

 


> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of Syed Haider
> Sent: Friday, September 28, 2007 2:18 PM
> To: Matthias Hoys; [email protected]
> Subject: RE: [mart-dev] Problem with multiple MartDBLocations v0.6
> 
> 
> On Fri, 2007-09-28 at 14:17 +0200, Matthias Hoys wrote:
> > Hi,
> > 
> > I tried changing the names and display names but have the 
> same error:
> > 
> > ERROR something wrong with your registry: Could not 
> retrieve valid XML
> > for SCHEMA: tax_ncbi     DATASET: RICEBLASTMART
> > 
> > In the mean time, my colleague found out that the query to 
> Oracle is 
> > done in the wrong schema:
> > 
> > SELECT compressed_xml FROM tax_ncbi.meta_conf__xml__dm mc, 
> > tax_ncbi.meta_conf__user__dm mu, 
> tax_ncbi.meta_conf__interface__dm mi, 
> > tax_ncbi.meta_conf__dataset__main main WHERE (dataset = 
> 'RICEBLASTMART'
> > OR dataset = 'RICEBLASTMART') AND mu.mart_user='default' AND 
> > mu.dataset_id_key=main.dataset_id_key AND interface = 'default' AND 
> > main.dataset_id_key=mc.dataset_id_key AND 
> > mc.dataset_id_key=mi.dataset_id_key
> > 
> > So tax_ncbi. should be replaced by devgenmart.
> > 
> > Could it be that the queries are wrongly generated ?
> 
> could possibly be as it looks, but this could be wrong 
> because of wrong values being propagated from marteditor 
> configuration step.
> would be helpful if I can have the xmls.
> thanks a lot.
> syed
> 
> > 
> > 
> > Matthias
> > 
> > 
> > -----Original Message-----
> > From: Syed Haider [mailto:[EMAIL PROTECTED]
> > Sent: Friday, September 28, 2007 2:01 PM
> > To: Matthias Hoys
> > Subject: RE: [mart-dev] Problem with multiple MartDBLocations v0.6
> > 
> > Hi Matthias
> > apologies, but I meant the xmls files from marteditor xml dump.
> > in addition, I just discovered that the system is trying to retrieve
> > 
> > 'Could not retrieve valid XML for SCHEMA: tax_ncbi     DATASET:
> > RICEBLASTMART'
> > 
> > which I guess is incorrect, it should be SCHEMA: devgenmart instead.
> > please try the same
> > perl bin/configure.pl -r conf/your_registry.xml --clean but first 
> > change the name and displayName attributes of both 
> MartDBLocations and 
> > set them to unique value, which should no be causing any 
> trouble, but 
> > I just want to see what appears on your screen subsequently.
> > 
> > 
> > thanks.
> > syed
> > 
> > 
> > On Fri, 2007-09-28 at 13:47 +0200, Matthias Hoys wrote:
> > > In addendum the xml file and the output.
> > > 
> > > Same error without --lazyload (this is a server with only 
> 128MB RAM).
> > > 
> > > 
> > > Matthias
> > > 
> > > 
> > > -----Original Message-----
> > > From: Syed Haider [mailto:[EMAIL PROTECTED]
> > > Sent: Friday, September 28, 2007 1:21 PM
> > > To: Matthias Hoys
> > > Subject: RE: [mart-dev] Problem with multiple MartDBLocations v0.6
> > > 
> > > Matthias,
> > > please send me your xml files and please try configuring as perl 
> > > bin/configure.pl -r conf/your_registry.xml --clean and ignore 
> > > --lazyload option, and let me know what gets printed on
> > your
> > > display. looks to me cpan compression module Zlib is crashing.
> > anyways,
> > > lets see.
> > > 
> > > thanks
> > > syed
> > > 
> > > On Fri, 2007-09-28 at 13:17 +0200, Matthias Hoys wrote:
> > > > Hello Syed,
> > > > 
> > > > I removed the virtualSchema tags and it still doesn't work.
> > > > This is the error message:
> > > > 
> > > > 
> > > > Use of uninitialized value in length at 
> > > > /usr/lib/perl5/site_perl/5.8.5/Compress/Zlib.pm line 478.
> > > > 
> > > > ERROR something wrong with your registry: Could not 
> retrieve valid
> > XML
> > > > for SCHEMA: tax_ncbi     DATASET: RICEBLASTMART
> > > > 
> > > > Trace begun at
> > > >
> > >
> > 
> /home/bioinf/biomart-perl/bin/../lib/BioMart/Configuration/MartDBLocat
> > io
> > > > n.pm line 138
> > > >
> > >
> > 
> BioMart::Configuration::MartDBLocation::getDatasetConfigXML('BioMart::
> > Co
> > > > nfiguration::MartDBLocation=HASH(0x93dfd5c)', 'd efault', 
> > > > 'RICEBLASTMART', 'default', 1) called at 
> > > > 
> /home/bioinf/biomart-perl/bin/../lib/BioMart/Configurator.pm line
> > 177
> > > >
> > >
> > 
> BioMart::Configurator::getConfigurationTree('BioMart::Configurator=HAS
> > H(
> > > > 0x93dfc9c)', 'default', 'RICEBLASTMART', 'defaul t', 1) 
> called at 
> > > > /home/bioinf/biomart-perl/bin/../lib/BioMart/Dataset/TableSet.pm
> > line
> > > > 110
> > > >
> > >
> > 
> BioMart::Dataset::TableSet::_getConfigurationTree('BioMart::Dataset::T
> > ab
> > > > leSet=HASH(0x9439c3c)', 'default', 1) called at 
> > > > 
> /home/bioinf/biomart-perl/bin/../lib/BioMart/DatasetI.pm line 711
> > > >
> > >
> > 
> BioMart::DatasetI::getConfigurationTree('BioMart::Dataset::TableSet=HA
> > SH
> > > > (0x9439c3c)', 'default', 1) called at /home/bioi 
> > > > nf/biomart-perl/bin/../lib/BioMart/Registry.pm line 1076
> > > >
> > >
> > 
> BioMart::Registry::_getConfigurationTrees('BioMart::Registry=HASH(0x93
> > c2
> > > > 1f0)') called at /home/bioinf/biomart-perl/bin/.
> > > > ./lib/BioMart/Registry.pm line 1002
> > > > 
> BioMart::Registry::configure('BioMart::Registry=HASH(0x93c21f0)')
> > > called
> > > > at /home/bioinf/biomart-perl/bin/../lib/BioMart
> > > > /Initializer.pm line 426
> > > >
> > >
> > 
> BioMart::Initializer::init_clean('BioMart::Initializer=HASH(0x935018c)
> > ',
> > > > 'registryFile', '/home/bioinf/biomart-perl/conf 
> > > > /devgenDBRegistry_test.xml', 'action', 'clean', 'mode', 
> > > > 'lazyload') called at /home/bioinf/biomart-perl/bin/../lib/BioMa
> > > > rt/Initializer.pm line 160
> > > > 
> BioMart::Initializer::_new('BioMart::Initializer=HASH(0x935018c)',
> > > > 'registryFile', '/home/bioinf/biomart-perl/conf/devge
> > > > nDBRegistry_test.xml', 'action', 'clean', 'mode', 'lazyload') 
> > > > called
> > > at
> > > > /home/bioinf/biomart-perl/bin/../lib/BioMart/Roo
> > > > tI.pm line 42
> > > > BioMart::RootI::new('BioMart::Initializer', 'registryFile', 
> > > > '/home/bioinf/biomart-perl/conf/devgenDBRegistry_test.xml',
> > > > 'action', 'clean', 'mode', 'lazyload') called at 
> > > > /home/bioinf/biomart-perl/bin/configureBioMart.pl line 302 eval 
> > > > {...} at /home/bioinf/biomart-perl/bin/configureBioMart.pl line
> > > 301
> > > > 
> > > > 
> > > > Any ideas ?
> > > > 
> > > > Matthias
> > > > 
> > > > 
> > > > -----Original Message-----
> > > > From: Syed Haider [mailto:[EMAIL PROTECTED]
> > > > Sent: Friday, September 28, 2007 12:17 PM
> > > > To: Matthias Hoys
> > > > Cc: [email protected]
> > > > Subject: Re: [mart-dev] Problem with multiple 
> MartDBLocations v0.6
> > > > 
> > > > Hi Mattias,
> > > > we use more than one martDBLocations all the time, and it should
> > work.
> > > > Could you please set visible=1 in the following line, 
> > > > <virtualSchema name="default" visible="0"> or better 
> would be to 
> > > > completely remove virtualSchema tags.
> > > > cheers
> > > > syed
> > > > 
> > > > 
> > > > On Fri, 2007-09-28 at 11:37 +0200, Matthias Hoys wrote:
> > > > > Hello,
> > > > > 
> > > > >  
> > > > > 
> > > > > I'm trying to configure BioMart 0.6 to work with two
> > MartDBLocations
> > > > > (both connecting to a different Oracle schema), but I 
> can't get 
> > > > > it
> > > to
> > > > > work.
> > > > > 
> > > > > During the configuration, it looks like datasets from 
> the second 
> > > > > schema are incorrectly looked up in the first schema (but of
> > course
> > > > > nothing is found).
> > > > > 
> > > > > The configuration runs fine with only 1 
> MartDBLocation (I tried
> > both
> > > > > individually and they work). Could there be a bug in 
> the parsing
> > of
> > > > > the MartRegistry code when there is more than 1 
> MartDBLocation ?
> > > > > 
> > > > >  
> > > > > 
> > > > > This is my registry xml file, I think the syntax is fine:
> > > > > 
> > > > >  
> > > > > 
> > > > > <?xml version="1.0" encoding="UTF-8"?>
> > > > > 
> > > > > <!DOCTYPE MartRegistry>
> > > > > 
> > > > > <MartRegistry>
> > > > > 
> > > > >         <virtualSchema name="default" visible="0">
> > > > > 
> > > > >                 <MartDBLocation name = "TAX_NCBI"
> > > > > 
> > > > >                     displayName         = "TAX_NCBI"
> > > > > 
> > > > >                     databaseType        = "oracle"
> > > > > 
> > > > >                    host                = "host1"
> > > > > 
> > > > >                     port                = "1521"
> > > > > 
> > > > >                     database            = "db1"
> > > > > 
> > > > >                    schema              = "tax_ncbi"
> > > > > 
> > > > >                     user                = "tax_ncbi"
> > > > > 
> > > > >                     password            = "xxx"
> > > > > 
> > > > >                     visible             = "1"
> > > > > 
> > > > >                     includeDatasets     = ""
> > > > > 
> > > > >                     martUser            = ""
> > > > > 
> > > > >                     default             = "0"
> > > > > 
> > > > >                  />
> > > > > 
> > > > >                 <MartDBLocation
> > > > > 
> > > > >                     name                = "MART"
> > > > > 
> > > > >                     displayName         = "MART"
> > > > > 
> > > > >                     databaseType        = "oracle"
> > > > > 
> > > > >                     host                = "host1"
> > > > > 
> > > > >                     port                = "1521"
> > > > > 
> > > > >                     database            = "db1"
> > > > > 
> > > > >                     schema              = "mart"
> > > > > 
> > > > >                     user                = "mart"
> > > > > 
> > > > >                     password            = "xxx"
> > > > > 
> > > > >                     visible             = "1"
> > > > > 
> > > > >                     includeDatasets     = ""
> > > > > 
> > > > >                     martUser            = ""
> > > > > 
> > > > >                     default             = "1"
> > > > > 
> > > > >                 />
> > > > > 
> > > > >         </virtualSchema>
> > > > > 
> > > > > </MartRegistry>
> > > > > 
> > > > >  
> > > > > 
> > > > >  
> > > > > 
> > > > > Thanks,
> > > > > 
> > > > > Matthias
> > > > > 
> > > > >  
> > > > > 
> > > > > 
> > > > 
> > > 
> > 
> 
> 

Reply via email to