Hi,
When i use a datasource (connecting to a jdbc connection pool in Weblogic)
in the QueryFactory.newQuery(..), i get this error:
[org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl] ERROR:
Naming Exception while looking up DataSource (accsDbDS)
Need to specify class name in environment or system property, or as an
applet parameter, or in an application resource file:
java.naming.factory.initial
javax.naming.NoInitialContextException: Need to specify class name in
environment or system property, or as an applet parameter, or in an
application resource file: java.naming.factory.initial
at
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:640)
at
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
at
javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:280)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at
org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.newConnectio
nFromDataSource(Unknown Source)
at
org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.lookupConnec
tion(Unknown Source)
at
org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.getConnection(Unknow
n Source)
at
org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement(Unkn
own Source)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown
Source)
at org.apache.ojb.broker.accesslayer.RsIterator.<init>(Unknown
Source)
at
org.apache.ojb.broker.singlevm.RsIteratorFactoryImpl.createRsIterator(Unknow
n Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getRsIteratorFromQuery(
Unknown Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getIteratorFromQuery(Un
known Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Un
known Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Un
known Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Un
known Source)
at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Un
known Source)
at
org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.getCollectionByQu
ery(Unknown Source)
at TestClient.testStaticTable(TestClient.java:144)
at TestClient.runApp(TestClient.java:123)
at TestClient.main(TestClient.java:83)
I did some testing and there is no problem obtaining a lookup thru jndi to
the datasource. I am able to get a database connection through the jndi
lookup to the datasource and successfully execute query thru the Connection
class. I can successfully read the datasource from the repository.xml file
and create a PersistenceBroker as well.
e.g
javax.sql.DataSource ds =
(javax.sql.DataSource)(getInitialContext().lookup("adbDS"));
java.sql.Connection conn = ds.getConnection();
where ...
private Context getInitialContext() throws CommunicationException,
NamingException{
if (ctx == null){
Properties h = new Properties();
h.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
h.put(Context.PROVIDER_URL, "t3://localhost:7001");
ctx = new InitialContext(h);
return ctx;
}
return ctx;
}
In my repository.xml
<jdbc-connection-descriptor
jcd-alias="repository.xml"
default-connection="true"
platform="Oracle"
jdbc-level="2.0"
jndi-datasource-name="accsDbDS"
username="accs"
password="accs"
useAutoCommit="0"
batch-mode="true"
>
<sequence-manager
className="org.apache.ojb.broker.util.sequence.SequenceManagerNextValImpl">
</sequence-manager>
</jdbc-connection-descriptor>
The error comes only when i do a Query with OJB.
Please advise. Thx!
regards.
Janet
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]