Can't I use slice framework with databases which not have the same structure ?

I have two database with different information and I must to use all these 
information ...

How can I make query accross slices ? or accross the two database using openjpa 
?

Thanks M. Poddar




Hi,
  You can target the query that has Userdb1 to slice ONE only. 

   Slice, in general, considers that the schema in every slice is identical. 

   

I used Websphere 7.0 ( openjpa 1.2.1 snapshot ) and DB2 UBD 9.1

I want to configure slice describe as follow ( persistence.xml )

 <persistence-unit name="persistenceUnit">
   
    <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
   
                <class>com.ibm.openjpa.slice.test.db1.Userdb1</class>
                <class>com.ibm.openjpa.slice.test.db2.Customerdb2</class>
                       
        <properties>

                        <property name="openjpa.BrokerFactory" value="slice" />
                        <property name="openjpa.slice.Names"   value="ONE,TWO"/>
                        <property name="openjpa.slice.Master"  value="ONE"/>
                        <property name="openjpa.slice.Lenient" value="true"/>
                       
                        <property name="openjpa.ConnectionDriverName" 
value="com.ibm.db2.jcc.DB2Driver" />
                        <property name="openjpa.ConnectionURL" 
value="jdbc:db2://localhost:52000/DB1"/>
                        <property name="openjpa.ConnectionUserName" 
value="db2admin"/>
                        <property name="openjpa.ConnectionPassword" 
value="db2admin,001" />

                       
                        <property name="openjpa.slice.ONE.ConnectionDriverName" 
value="com.ibm.db2.jcc.DB2Driver" />
                        <property name="openjpa.slice.ONE.ConnectionURL" 
value="jdbc:db2://localhost:52000/DB1"/>
                        <property name="openjpa.slice.ONE.ConnectionUserName" 
value="db2admin"/>
                        <property name="openjpa.slice.ONE.ConnectionPassword" 
value="db2admin,001" />
               
               
                <property name="openjpa.slice.TWO.ConnectionDriverName" 
value="com.ibm.db2.jcc.DB2Driver" />
                <property name="openjpa.slice.TWO.ConnectionURL" 
value="jdbc:db2://localhost:52000/DB2"/>        
                <property name="openjpa.slice.TWO.ConnectionUserName" 
value="db2admin"/>
                <property name="openjpa.slice.TWO.ConnectionPassword" 
value="db2admin,001" />
               
               
                <property name="openjpa.slice.DistributionPolicy" 
value="org.apache.openjpa.slice.policy.MyUserDistributionPolicy"/>        
                 
                <property name="openjpa.Log" value="SQL=TRACE"/>
                       
                </properties>
        </persistence-unit>

I want to use 2 several databases. For testing I build a simple database 
structure with one table in each database. Each database is connected to a 
slice so, Userdb1 is in slice one and Customerdb2 is in slice two.

When I try to make a simple SELECT udb1.udb1Id, udb1.udb1Name, udb1.udb1Mail 
FROM Userdb1 udb1, I have this error :  DB2 SQL error: SQLCODE: -204, SQLSTATE: 
42704, ...

Slice want to find Userdb1 in slice TWO but this table is in slice ONE only...

How I can do solve this problem ?

Best regards :) 




-- 
View this message in context: 
http://n2.nabble.com/Slice-Error-with-simple-query-%28-Websphere-7.0---DB2-9.1-%29-tp2544575p2544909.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.

Reply via email to