Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How to connect db in my toplink project?

165103Nov 15 2004 — edited Jun 9 2006
In my examples, when I want to get the session using
"DatabaseSession databaseSession = (DatabaseSession )SessionManager.getManager().getSession("MySessionName");"

statment, the system report the following error:

Local Exception Stack:

Exception [TOPLINK-7060] (OracleAS TopLink - 10g (9.0.4) (Build 031126)): oracle.toplink.exceptions.ValidationException

Exception Description: Cannot acquire data source [TopLink].

Internal Exception: 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 oracle.toplink.exceptions.TopLinkException.<init>(TopLinkException.java:48)

at oracle.toplink.exceptions.ValidationException.<init>(ValidationException.java:148)

at oracle.toplink.exceptions.ValidationException.cannotAcquireDataSource(ValidationException.java:162)

at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:90)

at oracle.toplink.sessions.DatabaseLogin.connect(DatabaseLogin.java:218)

at oracle.toplink.internal.databaseaccess.DatabaseAccessor.connect(DatabaseAccessor.java:396)

at oracle.toplink.internal.databaseaccess.DatabaseAccessor.connect(DatabaseAccessor.java:421)

at oracle.toplink.threetier.ConnectionPool.buildConnection(ConnectionPool.java:89)

at oracle.toplink.threetier.ConnectionPool.startUp(ConnectionPool.java:328)

at oracle.toplink.threetier.ServerSession.connect(ServerSession.java:447)

at oracle.toplink.publicinterface.DatabaseSession.login(DatabaseSession.java:520)

at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:250)

at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:192)

at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:149)

at mypackage1.TestMain.main(TestMain.java:22)

Caused by: 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:340)

at javax.naming.InitialContext.lookup(InitialContext.java:351)

at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:87)

... 11 more









the following is my session.xml context

<?xml version = '1.0' encoding = 'UTF-8'?>
<!DOCTYPE toplink-configuration PUBLIC "-//Oracle Corp.//DTD TopLink Sessions 9.0.4//EN" "sessions_9_0_4.dtd">
<toplink-configuration>
<session>
<name>MySessionName</name>
<project-xml>toplink-deployment-descriptor.xml</project-xml>
<session-type>
<server-session/>
</session-type>
<login>
<driver-class>sun.jdbc.odbc.JdbcOdbcDriver</driver-class>
<datasource>TopLink</datasource>
<platform-class>oracle.toplink.internal.databaseaccess.SQLServerPlatform</platform-class>
<user-name>sa</user-name>
<uses-native-sequencing>true</uses-native-sequencing>
</login>
</session>
</toplink-configuration>

1, The "TopLink" is my datasource to connect the sql server.
2, In JDeveloper 10g's connections navigator, I can use the "TopLink" to connect my database.
3, My program is non-server mode

Who can help me to solve the error?
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jul 7 2006
Added on Nov 15 2004
8 comments
3,740 views