> This raises a good question.  What if I need to connect
> to three different databases.  Do I need to create an
> instance of the internal tables in each of these databases?

No, only in one DB. Say we have DB, DB_A.
Create the internal tables in DB.
You need a default repository (repository.xml, repository specified in
the OJB.properties file) assosiated with DB. This repository was used by
OJB for internal operations. The default repository have to know about
all class descriptors.
For an example take a look into repository.xml and
repositoryFarAway.xml/repositoryFarAway_user.xml shipped with OJB.
Junit test case see org.apache.ojb.broker.MultipleDBTest and
org.apache.ojb.odmg.MultiDBUsageTest


regards,
Armin

>
> -Jeff
>
> > -----Original Message-----
> > From: Ujwal Oswal [mailto:[EMAIL PROTECTED]]
> > Sent: Monday, September 09, 2002 12:50 PM
> > To: 'OJB Users List'
> > Subject: RE: OJB- ODMG Help
> >
> >
> > Should the Internal OJB tables be in your database. I am
> > using existing
> > table from our database for performing queries. I havent created any
> > internal tables.
> >
> > uo
> >
> > -----Original Message-----
> > From: Matthew Baird [mailto:[EMAIL PROTECTED]]
> > Sent: Monday, September 09, 2002 12:20 PM
> > To: OJB Users List
> > Subject: RE: OJB- ODMG Help
> >
> >
> > you probably didn't put the OJB core schema tables into your
> > database. I
> > noticed, after Armin's refactoring, that even though I don't use the
> > sequence managers at all it still tries to get some
> > sequences. I haven't
> > really had time to look into this issue yet.
> >
> > m
> >
> > -----Original Message-----
> > From: Ujwal Oswal [mailto:[EMAIL PROTECTED]]
> > Sent: Mon 9/9/2002 9:16 AM
> > To: 'OJB Users List'
> > Cc:
> > Subject: RE: OJB- ODMG Help
> >
> >
> >
> > Here it is.
> >
> >
> >
> > BOOT] INFO: OJB.properties:
> > file:/C:/eclipse/workspace/OJB/OJB.properties
> > <file:/C:/eclipse/workspace/OJB/OJB.properties>
> > [org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl]
> >  INFO: Already
> > created persistence broker instances: 0
> > [org.apache.ojb.broker.util.sequence.SequenceManagerFactory] INFO:
Use
> > sequence manager class: class
> > org.apache.ojb.broker.util.sequence.SequenceManagerHiLoImpl
> > Now Running @@@@@@@@@@@
> > [org.apache.ojb.broker.accesslayer.AbstractPoolableConnectionF
> > actory] INFO:
> > # Create connection pool for JdbcDescriptorKey 669007219 #
> > [org.apache.ojb.broker.accesslayer.AbstractConnectionFactory] INFO:
#
> > Already created connections: 1 returning : S103273D
> > [org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl]
> >  INFO: Already
> > created persistence broker instances: 1
> > [org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl]
> >  INFO: Already
> > created persistence broker instances: 2
> > [org.apache.ojb.broker.accesslayer.AbstractConnectionFactory] INFO:
#
> > Already created connections: 2 returning : S103273D
> > [org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl]
> >  INFO: Already
> > created persistence broker instances: 3
> > [org.apache.ojb.broker.accesslayer.StatementsForClassImpl]
> > ERROR: [SQL0204]
> > OJB_HL_SEQ in TSL50LIBXS type *FILE not found.
> > java.sql.SQLException: [SQL0204] OJB_HL_SEQ in TSL50LIBXS
> > type *FILE not
> > found.
> >         at
> > com.ibm.as400.access.JDError.throwSQLException(JDError.java:351)
> >         at
> > com.ibm.as400.access.AS400JDBCStatement.commonPrepare(AS400JDB
> > CStatement.jav
> > a:903)
> >         at
> > com.ibm.as400.access.AS400JDBCPreparedStatement.<init>(AS400JD
> > BCPreparedStat
> > ement.java:186)
> >         at
> > com.ibm.as400.access.AS400JDBCConnection.prepareStatement(AS40
> > 0JDBCConnectio
> > n.java:1166)
> >         at
> > org.apache.ojb.broker.accesslayer.StatementsForClassImpl.prepa
> > reStatement(Un
> > known Source)
> >         at
> > org.apache.ojb.broker.accesslayer.StatementsForClassImpl.getSe
> > lectByPKStmt(U
> > nknown Source)
> >         at
> > org.apache.ojb.broker.accesslayer.StatementManager.getSelectBy
> > PKStatement(Un
> > known Source)
> >         at
> >
org.apache.ojb.broker.accesslayer.JdbcAccess.materializeObject(Unknown
> > Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getDBObje
> > ct(Unknown
> > Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObject
> > ByIdentity(Unk
> > nown Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObject
> > ByExample(Unkn
> > own Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObject
> > ByQuery(Unknow
> > n Source)
> >         at
> > org.apache.ojb.broker.util.sequence.SequenceGenerator.getNextS
> > equence(Unknow
> > n Source)
> >         at
> > org.apache.ojb.broker.util.sequence.SequenceManagerHiLoImpl.ge
> > tUniqueId(Unkn
> > own Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getUnique
> > Id(Unknown
> > Source)
> >         at
> > org.apache.ojb.odmg.collections.DListImpl.generateNewId(Unknown
> > Source)
> >         at
> > org.apache.ojb.odmg.collections.DListImpl.<init>(Unknown Source)
> >         at java.lang.Class.newInstance0(Native Method)
> >         at java.lang.Class.newInstance(Unknown Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollec
> > tionByQuery(Un
> > known Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollec
> > tionByQuery(Un
> > known Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollec
> > tionByQuery(Un
> > known Source)
> >         at
> > org.apache.ojb.odmg.oql.OQLQueryImpl.execute(Unknown Source)
> >         at test.odmg.TestOdmg.showUsers(TestOdmg.java:123)
> >         at test.odmg.TestOdmg.main(TestOdmg.java:100)
> > [org.apache.ojb.broker.accesslayer.JdbcAccess] ERROR:
> > PersistenceBrokerException during the execution of
> > materializeObject: null
> > null
> > org.apache.ojb.broker.PersistenceBrokerSQLException
> >         at
> > org.apache.ojb.broker.accesslayer.StatementManager.getSelectBy
> > PKStatement(Un
> > known Source)
> >         at
> >
org.apache.ojb.broker.accesslayer.JdbcAccess.materializeObject(Unknown
> > Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getDBObje
> > ct(Unknown
> > Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObject
> > ByIdentity(Unk
> > nown Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObject
> > ByExample(Unkn
> > own Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObject
> > ByQuery(Unknow
> > n Source)
> >         at
> > org.apache.ojb.broker.util.sequence.SequenceGenerator.getNextS
> > equence(Unknow
> > n Source)
> >         at
> > org.apache.ojb.broker.util.sequence.SequenceManagerHiLoImpl.ge
> > tUniqueId(Unkn
> > own Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getUnique
> > Id(Unknown
> > Source)
> >         at
> > org.apache.ojb.odmg.collections.DListImpl.generateNewId(Unknown
> > Source)
> >         at
> > org.apache.ojb.odmg.collections.DListImpl.<init>(Unknown Source)
> >         at java.lang.Class.newInstance0(Native Method)
> >         at java.lang.Class.newInstance(Unknown Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollec
> > tionByQuery(Un
> > known Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollec
> > tionByQuery(Un
> > known Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollec
> > tionByQuery(Un
> > known Source)
> >         at
> > org.apache.ojb.odmg.oql.OQLQueryImpl.execute(Unknown Source)
> >         at test.odmg.TestOdmg.showUsers(TestOdmg.java:123)
> >         at test.odmg.TestOdmg.main(TestOdmg.java:100)
> > [org.apache.ojb.broker.util.sequence.SequenceGenerator]
> > ERROR: Can not get
> > next org.apache.ojb.broker.util.sequence.HighLowSequence for
> > next scope of
> > keys
> > null
> > org.apache.ojb.broker.PersistenceBrokerSQLException
> >         at
> > org.apache.ojb.broker.accesslayer.StatementManager.getSelectBy
> > PKStatement(Un
> > known Source)
> >         at
> >
org.apache.ojb.broker.accesslayer.JdbcAccess.materializeObject(Unknown
> > Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getDBObje
> > ct(Unknown
> > Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObject
> > ByIdentity(Unk
> > nown Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObject
> > ByExample(Unkn
> > own Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObject
> > ByQuery(Unknow
> > n Source)
> >         at
> > org.apache.ojb.broker.util.sequence.SequenceGenerator.getNextS
> > equence(Unknow
> > n Source)
> >         at
> > org.apache.ojb.broker.util.sequence.SequenceManagerHiLoImpl.ge
> > tUniqueId(Unkn
> > own Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getUnique
> > Id(Unknown
> > Source)
> >         at
> > org.apache.ojb.odmg.collections.DListImpl.generateNewId(Unknown
> > Source)
> >         at
> > org.apache.ojb.odmg.collections.DListImpl.<init>(Unknown Source)
> >         at java.lang.Class.newInstance0(Native Method)
> >         at java.lang.Class.newInstance(Unknown Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollec
> > tionByQuery(Un
> > known Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollec
> > tionByQuery(Un
> > known Source)
> >         at
> > org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollec
> > tionByQuery(Un
> > known Source)
> >         at
> > org.apache.ojb.odmg.oql.OQLQueryImpl.execute(Unknown Source)
> >         at test.odmg.TestOdmg.showUsers(TestOdmg.java:123)
> >         at test.odmg.TestOdmg.main(TestOdmg.java:100)
> >
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [ mailto:[EMAIL PROTECTED]
> > <mailto:[EMAIL PROTECTED]> ]
> > Sent: Monday, September 09, 2002 12:00 PM
> > To: OJB Users List
> > Subject: Re: OJB- ODMG Help
> >
> >
> > Could you post the stack trace.
> >
> > Armin
> > ----- Original Message -----
> > From: "Ujwal Oswal" <[EMAIL PROTECTED]>
> > To: "'OJB Users List'" <[EMAIL PROTECTED]>
> > Sent: Monday, September 09, 2002 5:49 PM
> > Subject: RE: OJB- ODMG Help
> >
> >
> > > My Null Pointer exception is gone after I commented all the
> > AWT code.
> > > The new problem I am having is It says "File not found"
> > when I execute
> > the
> > > query.
> > >
> > > How do I check what query is being fired.
> > >
> > > tks
> > > ujwal
> > >
> > >
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED] [ mailto:[EMAIL PROTECTED]
> > <mailto:[EMAIL PROTECTED]> ]
> > > Sent: Monday, September 09, 2002 11:02 AM
> > > To: OJB Users List
> > > Subject: Re: OJB- ODMG Help
> > >
> > >
> > > Everything seems OK.
> > > Try: Open a new database on every method call and close it
> > after use.
> > > See below.
> > > This 'strange' behaviour (Charles explain) will be fixed
> > with the next
> > > version of OJB.
> > >
> > > regards,
> > > Armin
> > >
> > > > [org.apache.ojb.odmg.TransactionImpl] WARN:
> > TransactionImpl created
> > > with
> > > > null DatabaseImpl.
> > >
> > > Transaction found no opened database.
> > >
> > > > public class TestOdmg extends Frame implements ActionListener
> > > > {
> > > >     private Implementation odmg = null;
> > > >     private Vector useCases;
> > > >     private static String databaseName;
> > > >     private TextArea textarea;
> > > >     private Button exit;
> > > >     private MenuBar menubar = null;
> > > >     private Menu menu = null;
> > > >     private MenuItem newUser = null;
> > > >     private MenuItem showUser = null;
> > > >     private MenuItem exitApp = null;
> > > >
> > > > static
> > > > {
> > > >         try
> > > >         {
> > > >             databaseName =
> > > >                 ((PersistenceBrokerConfiguration)
> > > PersistenceBrokerFactory
> > > >                     .getConfigurator()
> > > >                     .getConfigurationFor(null))
> > > >                     .getRepositoryFilename();
> > > >         }
> > > >         catch (ConfigurationException e)
> > > >         {
> > > >             databaseName = "repository.xml";
> > > >         }
> > > >
> > > > }
> > > >
> > > >     public TestOdmg()
> > > >     {
> > > >         textarea = new TextArea();
> > > >         exit = new Button ("Exit");
> > > >         exit.addActionListener(this);
> > > >         menubar = new MenuBar();
> > > >        menu = new Menu("User");
> > > >        newUser = new MenuItem ("New User");
> > > >        newUser.addActionListener(this);
> > > >        showUser = new MenuItem ("Show User");
> > > >        showUser.addActionListener(this);
> > > >        exitApp = new MenuItem ("Exit");
> > > >        exitApp.addActionListener(this);
> > > >
> > > >         odmg = OJB.getInstance();
> > > >         Database db = odmg.newDatabase();
> > > >         file://open <file://open>  database
> > > >         try
> > > >         {
> > > >             db.open(databaseName, Database.OPEN_READ_WRITE);
> > > >         }
> > > >         catch (ODMGException ex)
> > > >         {
> > > >             ex.printStackTrace();
> > > >         }
> > > >
> > > > menu.add(newUser);
> > > > menu.add(showUser);
> > > > menu.add(exitApp);
> > > > menubar.add(menu);
> > > > setMenuBar(menubar);
> > > > add(textarea,"Center");
> > > > add(exit, "South");
> > > >
> > > >     setSize(400,400);
> > > >     this.show();
> > > >     }
> > > >
> > > >     public static void main(String[] args)
> > > >     {
> > > >         TestOdmg app = new TestOdmg();
> > > >     }
> > > >
> > > >     private void showUsers()
> > > >     {
> > > >     User user = null;
> > > >         System.out.println("Now Running @@@@@@@@@@@");
> > > >         int total = 0;
> > > >
> > > >         try
> > > >         {
> > > // open new DB
> > > ####        Database db = odmg.newDatabase();
> > >                 db.open(...);
> > > >              // 1. open a transaction
> > > >             Transaction tx = odmg.newTransaction();
> > > >             tx.begin();
> > > >
> > > >             // 2. get an OQLQuery object from the ODMG facade
> > > >             OQLQuery query = odmg.newOQLQuery();
> > > >
> > > >             // 3. set the OQL select statement
> > > >             query.create("select allusers from " +
> > > User.class.getName());
> > > >
> > > >             // 4. perform the query and store the result in a
> > > persistent
> > > > Collection
> > > >             DList allUsers = (DList) query.execute();
> > > >             tx.commit();
> > > >
> > > >             // 5. now iterate over the result to print
> > each product
> > > >             java.util.Iterator iter = allUsers.iterator();
> > > >
> > > >             while (iter.hasNext())
> > > >             {
> > > >             total++;
> > > >             user = (User) iter.next();
> > > >                 textarea.appendText("User Id :
> > "+user.getUserId()+ "
> > > User
> > > > Name "+ user.getUserName ());
> > > >                 textarea.append("\n");
> > > >             }
> > > >
> > > >             textarea.appendText("Total Users : "+ total);
> > > >         }
> > > >         catch (Throwable t)
> > > >         {
> > > >             t.printStackTrace();
> > > >         }
> > >             finally
> > >             {
> > > // close on every call
> > > ###         db.close();
> > >             }
> > >
> > > >     }
> > > >
> > > > public void actionPerformed (ActionEvent ae) {
> > > > if (ae.getSource() instanceof Button) {
> > > >       System.exit(0);;
> > > > }
> > > > else if (ae.getSource() instanceof MenuItem) {
> > > > if ("New User".equals(ae.getActionCommand())) {
> > > > System.out.println ("New User");
> > > > // AddUser adduser = new AddUser(this,broker);
> > > > // adduser.show();
> > > > }
> > > > else if ("Show User".equals(ae.getActionCommand()))
> > > > {
> > > >            showUsers();
> > > > }
> > > > else if ("Exit".equals(ae.getActionCommand())) {
> > > >            System.exit(0);;
> > > > }
> > > > }
> > > > }
> > > > }
> > > >
> > > > Ujwal
> > > >
> > > >
> > >
> > >
> > > --
> > > To unsubscribe, e-mail:
> > < mailto:[EMAIL PROTECTED]
> > <mailto:[EMAIL PROTECTED]> >
> > > For additional commands, e-mail:
> > < mailto:[EMAIL PROTECTED]
> > <mailto:[EMAIL PROTECTED]> >
> > >
> >
> >
> > --
> > To unsubscribe, e-mail:   <
> > mailto:[EMAIL PROTECTED]
> > <mailto:[EMAIL PROTECTED]> >
> > For additional commands, e-mail: <
> > mailto:[EMAIL PROTECTED]
> > <mailto:[EMAIL PROTECTED]> >
> >
> >
> >
>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to