Datasource & Oracle
Hi! I have a problem!
When i run my client application i have an exception : javax.ejb.CreateException: javax.ejb.EJBException: nested exception is: java.sql.SQLException: No suitable driver
this is the setting in resource.properties:
jdbcDataSource.0.name=jdbc/Oracle
jdbcDataSource.0.url=jdbc\:oracle\:thin\:@localhost\:1521\:EugenZ
jdbcDriver.0.name=oracle.jdbc.driver.OracleDriver
this is my classpath setting:
%J2EE_HOME%\lib\j2ee.jar;%J2EE_HOME%\lib\system\cloudscape.jar;%J2EE_HOME%\lib\system\cloudutil.jar;%J2EE_HOME%\lib\cloudscape\RmiJdbc.jar;%J2EE_HOME%\lib\system\classes12.jar;.
May be problem in server configuration (reset data or not load (setenv.bat)?).
since i already declare classpath for oracle JDBC Driver (classes12.jar), why the program still can't found the oracle.jdbc.driver.OracleDriver? please help. thanks.
See reply in the JDBC Forum. Please do not crosspost.
Similar Messages
-
I have a form that was compiled under 10gR1 DS and launches fine, but after compiling it under 10gR2 DS it is not responding in the same manner as 10gR1 to an if statement in the code checking to see if it is connected to an ORACLE database.
In the 10gR1 version of the form
The check to see if the form was connected to an oracle database would return false after EXIT_FORM(NO_VALIDATE);
And this is what was expected to happen with the 10gR2 version of the form.
But in the 10gR2 version of the form
After the EXIT_FORM(NO_VALIDATE); statement
the if GET_APPLICATION_PROPERTY(DATASOURCE) = 'ORACLE' statment returns a true and causes the form to break because its not connected to the database anymore but the code in this if statement contains sql against database tables
How come only for DS 10gR2 after the EXIT_FORM(NO_VALIDATE); statement
the get_application_property(DATASOURCE) = 'ORACLE' is true, Even though its not connected to the database anymore?
Thanks,
MichelleHI...i have a similiar problem. we recently migration to 10g and still using oracle forms 6i. Problem is that i have a logon for which check the datasource to determine the status of the login user.
If the user, currently is expired or logged out, it should remeber a message otherwise if the datasource is not oracle then show unable to connect on log out.
On the form, there is a on_logon trigger..
if i do a show message, i can see that if the user is expired it will not pickup the datasource, instead it is null, logging out the user.
please have a look at the code below:
logon(:login.user_name,:login.password||'@'||:login.instance_name,false);
v_datasource := get_application_property(DATASOURCE);
if v_datasource = 'ORACLE' then
begin
select account_status
into v_status
from dba_users
where username = v_username;
if v_status like 'LOCKED%' then
v_message := 'This users account is locked - contact support';
end if;
if v_status like 'EXPIRED%' then
:global.user_name := v_username;
:global.new_password := 'N';
:global.old_password := v_password;
call_form('c_passmnt', hide, do_replace, no_query_only);
if :global.new_password = 'N' then
v_message := 'Password not changed - contact support';
else
:login.user_name := v_old_username;
:login.password := :global.new_password_new;
logout; SYNCHRONIZE;
logon(:login.user_name,:login.password||'@'||:login.instance_name,true);
end if;
end if; -
Bug in WLS 6.1 DataSource + Oracle Pool
Does any one has arrived to execute an Oracle Stored procedure which
return a CURSOR in response with JDBC through the DataSource?
It's working perfectly with WLS 5.1sp9 to 6.0sp2
and NOT with the 6.1 (even sp1) ...
Exception : weblogic.jdbc.rmi.internal.ResultSetImpl
Any idea ?
Best regards.Does any one has arrived to execute an Oracle Stored procedure which
return a CURSOR in response with JDBC through the DataSource?
It's working perfectly with WLS 5.1sp9 to 6.0sp2
and NOT with the 6.1 (even sp1) ...
Exception : weblogic.jdbc.rmi.internal.ResultSetImpl
Any idea ?
Best regards. -
Connecting via Datasource - Oracle equivalent to DB2DataSource
Hi
Have anybody use to connect to oracle via Datasource (using JNDI rather using driver managers) for J2EE (no EJB) development ? (I use WSAD 5.0)
I had in DB2 there is a class called "DB2DataSource " coming from a package COM.ibm.db2.jndi.DB2InitialContextFactory..
By digging into Oracle documents in their site they said use following to get InitialContextFactory...
import com.evermind.sql.DriverManagerDataSource;
import com.evermind.server;
Also I included jndi.jar in the project.
Still I am getting error for above two packages. Where does these packages reside.
(I have oracle 9i free downloaded version installed)
What is OC4J ?
Oracle also said JNDI will beloaded by OC4J.
Thanks
MeiHi all
Thanks for not responding to my question.
I found that the oracle equivalent package was,
import oracle.jdbc.pool.OracleDataSource;
I am all set..
Mei.. -
Could not retreive datasource oracle in webdynpro
Hi,
I've defined a datasource for oracle in the visual administrator :
jdbc datasource :
Data Source Type: driver-based
Driver Library: ojdbc14.jar
SQL Engine: vendor sql
Isolation Level: default
driver class : oracle.jdbc.OracleDriver
URL: jdbc:oracle:thin:@<host>:<port>:<sid>
I try to use it in my webdynpro :
javax.sql.DataSource ds=(javax.sql.DataSource)ctx.lookup(<dataSource name>);
java.sql.Connection con=ds.getConnection();
java.sql.Statement stmt=con.createStatement();
con.close();
But it throws the following exception :
com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of Baical_V1.
Does someone know what I could do ?
Thanks
Regards
ClaireThanks Anilkumar,
I've resolved my problem :
this parameters can't work :
Data Source Type: driver-based
Driver Library: ojdbc14.jar
SQL Engine: vendor sql
Isolation Level: default
driver class : oracle.jdbc.OracleDriver
URL: jdbc:oracle:thin:@<host>:<port>:<sid>
like it is explained in thread :
JDBC Connector in NetWeaver Dev Studio WebAS
I couldn't issue with a "driver-based" dataSource type AND the ojdbc14.jar driver like indicated in note 941594.
I've used this parameters :
Datasource type: ConnectionPoolDataSource
JDBC Version: 2.0
Driver: <name of the ojdbc14.jar deployed driver> (this driver has to be deployed before ! : http://help.sap.com/saphelp_nw04/helpdata/en/80/4f34c587f05048adee640f4c346417/frameset.htm)
SQL Engine: vendor sql
Isolation Level: default
Driver class: oracle.jdbc.pool.OracleDataSourceFactory
CPDS Classname: oracle.jdbc.pool.OracleConnectionPoolDataSource
Additional properties:
url = jdbc:oracle:thin:@host:port:instance
user = xxxx
password = yyyyy
(Names of properties must be lower-cased)
A good solution to find where was the problem, was to try to declare the datasource directly in the application (adding a data-sources.xml in the META-INF directory http://help.sap.com/saphelp_nw04/helpdata/en/64/0bee3da7138e5be10000000a114084/frameset.htm
) so you can have the detail of the exception in the datasource when you deploy the application, whereas when you create a wrong datasource, in the WAS, you have no message !
Regards,
Claire -
NamingException when trying to lookup DataSource (Oracle)
I am using Sun 6.1 Web Server with Oracle 9i, and we are evaluating these products (so no support contract).
I have a connection pool configured as follows:
<RESOURCES>
<JDBCCONNECTIONPOOL name="foo_pool" datasourceclassname="oracle.jdbc.pool.OracleDataSource" steadypoolsize="8" maxpoolsize="32" poolresizequantity="2" idletimeout="300" maxwaittime="60000" connectionvalidationrequired="on" connectionvalidationmethod="meta-data" validationtablename="" failallconnections="off" transactionisolationlevel="read-committed" isolationlevelguaranteed="off">
<PROPERTY name="URL" value="jdbc:oracle:thin:@XX.XX.XX.XXX:1521:oracledv"/>
<PROPERTY name="User" value=" . . . "/>
<PROPERTY name="Password" value=" . . . "/>
</JDBCCONNECTIONPOOL>
<JDBCRESOURCE jndiname="jdbc/foo_pool" poolname="foo_pool" enabled="on"/>
</RESOURCES>
Of course the user and password values are filled in.
The foo_pool object is there within the JDBC context, and the class of the object as reported by listBindings is javax.sql.DataSource.
I am trying to lookup the DataSource from a JSP deployed within a web app.
However, I am getting a NamingException with the explanation "cannot create resource instance". The cause and rootCause Throwable fields of this NamingException are null (big help that is).
The line that causes the exception is the one that invokes lookup on the "jdbc" sub context, with the parameter "foo_pool".
I have set up JDBC connection pools to Oracle in the past using WebLogic and JBoss, so I am at least somewhat competent at this. Still somehow I get the feeling that some class is missing, or there is an attempt to instantiate the wrong class or an incompatible class, but since there is no information beyond "cannot instantiate" I have no idea where else to look, after having googled until I am blue in the face.
Can anyone help?
Thanks,
ErikDoes this help?
http://swforum.sun.com/jive/thread.jspa?forumID=16&threadID=24492 -
Oracle Database Server 9i supports the usage of LABELS to enforce highly granular
resource access restrictions at the database level independent of the application
that is accessing it. In order to use this however, the particular user, and
not just the application, accessing the database must be known. Oracle Application
Server (Oracle's J2EE product line) solves this by providing the ability to PROXY
the identity of the application user and creditials (SSL Certs for instance) down
to the database server.
I haven't seen a similar ability for BEA Weblogic Server 8.1 which allow the user
identity and credientials to be PROXIED to the database server. Is this possible?
Have I missed an important document?
Thanks for any input,
Raymond TiongOn 3 Feb 2004 12:51:26 -0800, Raymond Tiong <[email protected]> wrote:
>
Oracle Database Server 9i supports the usage of LABELS to enforce highly
granular
resource access restrictions at the database level independent of the
application
that is accessing it. In order to use this however, the particular
user, and
not just the application, accessing the database must be known. Oracle
Application
Server (Oracle's J2EE product line) solves this by providing the ability
to PROXY
the identity of the application user and creditials (SSL Certs for
instance) down
to the database server.
I haven't seen a similar ability for BEA Weblogic Server 8.1 which allow
the user
identity and credientials to be PROXIED to the database server. Is this
possible?
Have I missed an important document?
Thanks for any input,
Raymond Tiong
I think there is a section in the JDBC documentation for 8.1 which
describes what it takes to utilize Oracle 9i extension called "Virtual
Private Database". With this extension, one might be able to proxy the
callers
identity to the DB.
See: http://e-docs.bea.com/wls/docs81/jdbc/thirdparty.html#1103627 -
Public webservice as datasource, oracle database as destination
Hello,
So: there is some public webservice I need integrate with: http://www.granica.gov.pl/Services/czasyService/granica.wsdl. I need to set this webservice as data source with my odi project. What is the simplest way to do this? Is this possible to create dataserver/model from wsdl and set this as source in my interface?
Edited by: 960949 on 2012-10-09 00:41When I try to invoke this webservice, exception is thrown:
com.sunopsis.wsinvocation.SnpsWSInvocationException: javax.xml.ws.WebServiceException: java.lang.ExceptionInInitializerError
at oracle.odi.wsinvocation.client.impl.jaxws.OdiJaxwsClientImpl.requestReply(OdiJaxwsClientImpl.java:73)
at oracle.odi.wsinvocation.client.impl.jaxws.OdiJaxwsOracleClientImpl.requestReply(OdiJaxwsOracleClientImpl.java:44)
at com.sunopsis.graphical.wsclient.RequestWsPane$11$1.doInBackground(RequestWsPane.java:1235)
at com.sunopsis.graphical.tools.utils.swingworker.SwingWorker$1.call(SwingWorker.java:240)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:139)
at com.sunopsis.graphical.tools.utils.swingworker.SwingWorker.run(SwingWorker.java:279)
at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:656)
at java.lang.Thread.run(Thread.java:662)
Caused by: javax.xml.ws.WebServiceException: java.lang.ExceptionInInitializerError
at com.sun.xml.internal.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:188)
at com.sun.xml.internal.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:195)
at oracle.odi.wsinvocation.client.impl.jaxws.OdiJaxwsClientImpl.requestReply(OdiJaxwsClientImpl.java:66)
at oracle.odi.wsinvocation.client.impl.jaxws.OdiJaxwsOracleClientImpl.requestReply(OdiJaxwsOracleClientImpl.java:44)
at com.sunopsis.graphical.wsclient.RequestWsPane$11$1.doInBackground(RequestWsPane.java:1237)
... 6 more
Caused by: java.lang.ExceptionInInitializerError
at com.sun.xml.internal.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:173)
at com.sun.xml.internal.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:195)
at oracle.odi.wsinvocation.client.impl.jaxws.OdiJaxwsClientImpl.requestReply(OdiJaxwsClientImpl.java:66)
at oracle.odi.wsinvocation.client.impl.jaxws.OdiJaxwsOracleClientImpl.requestReply(OdiJaxwsOracleClientImpl.java:44)
at com.sunopsis.graphical.wsclient.RequestWsPane$11$1.doInBackground(RequestWsPane.java:1235)
at com.sunopsis.graphical.tools.utils.swingworker.SwingWorker$1.call(SwingWorker.java:240)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at com.sunopsis.graphical.tools.utils.swingworker.SwingWorker.run(SwingWorker.java:278)
at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:655)
... 1 more
Caused by: java.lang.ClassCastException: com.sun.xml.bind.v2.runtime.JAXBContextImpl
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.<clinit>(SOAPFaultBuilder.java:533)
at com.sun.xml.internal.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:173)
at com.sun.xml.internal.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:195)
at oracle.odi.wsinvocation.client.impl.jaxws.OdiJaxwsClientImpl.requestReply(OdiJaxwsClientImpl.java:66)
at oracle.odi.wsinvocation.client.impl.jaxws.OdiJaxwsOracleClientImpl.requestReply(OdiJaxwsOracleClientImpl.java:44)
at com.sunopsis.graphical.wsclient.RequestWsPane$11$1.doInBackground(RequestWsPane.java:1237)
at com.sunopsis.graphical.tools.utils.swingworker.SwingWorker$1.call(SwingWorker.java:240)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:139)
at com.sunopsis.graphical.tools.utils.swingworker.SwingWorker.run(SwingWorker.java:279)
at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:656)
... 1 more
What's wrong? -
Need example of "validation query" under Data & Services Datasources Oracle Advanced Settings
Courious how to use it for some sort of proxy validation into the oracle 10/11 database.
Anyone using it?
Also interested in knowing anything about "Log Activity" and "Log database calls to _______________"Hi,
Could you elucidate with an example of how one would go about doing that. I did find an old thread,
Re: How to ACCEPT values on APEX page sent from outside APEX through POSTmethod
but as you are suggesting perhaps there is a 'better way' to do this now with the new Listener and Apex RESTful web services. I think it is great that we can now create RESTful service pretty easily from queries on one database through the Workspace RESTful services module, but how to ACCEPT values eludes this 'newbie' user of web services.
Pat -
How to configure Oracle Datasource in Tomcat
Hello,
My configuration of a Tomcat Datasource (oracle) appears to be wrong. Either that or my oraclejdbc.jar file is in the wrong place. Perhaps my classpath setting is wrong. Any help is appreciated.
Tomcat console error:
20070423 20:46:22.514 http-8080-Processor24(0x005878d2)
JdbcUtil#getDataSourceObject() Throw com.waveset.util.ConfigurationError: Failed to load JDBC DataSource 'java:comp/env/jdbc/wrsPool':
==> javax.naming.OperationNotSupportedException: Can't generate an absolute name for this namespace
Trace output from JdbcUtil:
XPRESS exception:
Can't call method getDataSourceObject on class com.waveset.util.JdbcUtil ==> com.waveset.util.ConfigurationError: Failed to load JDBC DataSource 'java:comp/env/jdbc/wrsPool': ==> javax.naming.OperationNotSupportedException: Can't generate an absolute name for this namespace
XPRESS exception:
Can't call method queryRecords on class com.waveset.util.JdbcUtil ==> java.lang.NullPointerException:
The express code used to call JdbcUtil follows:
<defvar name='dataSource'>
<new class='javax.sql.DataSource'/>
</defvar>
<set name='dataSource'>
<invoke name='getDataSourceObject' class='com.waveset.util.JdbcUtil'>
<null/>
<s>java:comp/env/jdbc/wrsPool</s>
<null/>
</invoke>
</set>
The Tomcat configuration *.xml file
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="wavex" path="/wavex" useNaming="false" workDir="work\Catalina\localhost\wavex">
<Resource name="jdbc/waveexPool " type="javax.sql.DataSource"/>
<Resource name="jdbc/wrsPool" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/waveexPool ">
<parameter>
<name>url</name>
<value>jdbc:sqlserver://localhost:1433;DatabaseName=WaveEx</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
</parameter>
<parameter>
<name>username</name>
<value></value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
</ResourceParams>
<ResourceParams name="jdbc/wrsPool">
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@vega.vf.lmco.com:1521:dev2</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>username</name>
<value></value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
</ResourceParams>
</Context>
Environment is:
IDM 7.0 on Windows 2000, sql server houses the repository.
Tomcat 5.0.28 with JDK 1.6thanks for the reply, i have configured the connection pool settings in the tomcat.
I created a class with static method, which will return the connection object.
whenever i need the connection object, iam invoking the static method, once its usage is over iam closing thew connection..
is it the right way of using the connection object in the web application. -
J2EE RI: error in creating Oracle XA Datasource
I want to use the Oracle XA driver within Sun's J2EE Reference Implementation.
So I put the JDBC driver JAR files to the $J2EE_HOME/lib/system directory and add it to the J2EE_CLASSPATH environment variable.
Then I add the XA Datasource with the following command:
j2eeadmin -addJdbcXADatasource jdbc/MyXADB oracle.jdbc.xa.client.OracleXADataSource
TEST_USER TEST_PWD -props serverName=myserver portNumber=1521 databaseName=work
driverType=thin
When I start the server an error occurs. The log file system.err contains the following error mesage:
Binding DataSource, name = jdbc/MyXADB, url = jdbc/MyXADB__xa
Binding DataSource, name = jdbc/MyXADB__xa, dataSource = oracle.jdbc.xa.client.OracleXADataSource@7b6643
Error in creating data source object: jdbc/MyXADB__xa
The log file error.log contains the following message:
Logging for J2EE Server Version: 1.3_01-b01 started at: Thu Oct 25 19:05:14 CEST 2001..
Using the Java HotSpot(TM) Client VM and the version number 1.3.1_01 from Sun Microsystems Inc..
VM is using the classpath: d:\j2sdkee1.3\lib\system\cloudscape.jar;d:\j2sdkee1.3\lib\system\tools.jar;d:\j2sdkee1.3\lib\cloudscape\RmiJdbc.jar;d:\j2sdkee1.3\lib\cloudscape\cloudclient.jar;d:\j2sdkee1.3\lib\classes;d:\j2sdkee1.3\classes;d:\j2sdkee1.3\lib\j2ee.jar;d:\j2sdkee1.3\lib\locale;d:\j2sdkee1.3\lib\system\classes12.zip;d:\j2sdkee1.3\lib\system\jndi.zip;d:\j2sdkee1.3\lib\system\jta.zip;d:\jdk1.3.1\lib\tools.jar;d:\j2sdkee1.3\lib\jhall.jar .
J2EE Home Directory has been set to: d:\j2sdkee1.3.
javax.naming.CommunicationException: java.rmi.MarshalException: CORBA BAD_PARAM 1398079494 Maybe; nested exception is:
org.omg.CORBA.BAD_PARAM: minor code: 1398079494 completed: Maybe
at com.sun.enterprise.naming.SerialContext.rebind(SerialContext.java:226)
at com.sun.enterprise.naming.SerialContext.rebind(SerialContext.java:238)
at javax.naming.InitialContext.rebind(InitialContext.java:370)
at com.sun.enterprise.naming.NamingManagerImpl.publishObject(NamingManagerImpl.java:210)
at com.sun.enterprise.naming.NamingManagerImpl.publishObject(NamingManagerImpl.java:169)
at com.sun.enterprise.resource.ResourceInstaller.installJdbcXADataSources(ResourceInstaller.java:466)
at com.sun.enterprise.resource.ResourceInstaller.installJdbcDataSources(ResourceInstaller.java:353)
at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:268)
at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:913)
Thank you for any help!Hi Manfed,
I've got exactly the same problem mit j2sdkee 1.3.1. Have yor resolved the problem in the meantime?
If so, please post the solution. Thanks.
Helmut -
In Java,how can I get remote oracle server's system time using a XAOracle datasource
I want to get remote oracle server's system time,for example,I use a TxDataSource:
DRIVER className:weblogic.jdbc.oci.xa.XADataSource
URL:jdbc:weblogic:oracle:lanhaibo
JNDI Name:
the following is the code which shows the exception that: sqlexception:the JDBC2.0
method is not implemented,why? what should I do?:
Properties prop = new Properties();
prop.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
prop.put(Context.PROVIDER_URL,"t3://"+"localhost"+":" + "7001");
initCtx = new InitialContext(prop);
DataSource ds = (DataSource)initCtx.lookup(strDataSource);
Connection conn = ds.getConnection();
String sqlQuery = "select to_char(sysdate,'yyyy') YYYY,to_char(sysdate, 'MM')
MM,to_char(sysdate, '" +
"dd') DD,to_char(sysdate, 'hh24') HH,to_char(sysdate, 'mi') MI,to_char(sysdate,
'" +
"ss') SS from dual"
preparedStatement pstmt = conn.prepareStatement(sqlQury);
StringBuffer sb = new StringBuffer();
ResultSet resultset = pstmt.executeQuery();
if(rs.next()){
strYear = rs.getString("yyyy");
strMonth = rs.getString("MM");
strDay = rs.getString("DD");
strHour = rs.getString("HH");
strMinute = rs.getString("MI");
strSecond = rs.getString("SS");
sb.append(strYear);
sb.append("/");
sb.append(strMonth);
sb.append("/");
sb.append(strDay);
sb.append(" ");
sb.append(strHour);
sb.append(":");
sb.append(strMinute);
sb.append(":");
sb.append(strSecond);Joden asked:
"I want to get a remote oracle server's time by XADataSource,
use:"select sysdate from dual", but return a null value,and give
the message"sqlexception the jdbc2.0 method is not implemented",
why?"
Let me see your code. A simple executeQuery() should do the trick:
Statement s = c.createStatement();
ResultSet r = s.executeQuery("select sysdate from dual");
while (r.next())
java.sql.Timestamp t = r.getTimestamp(1);
Guillaume Grussenmeyer wrote:
Hi.
I guess you are using weblogic.jdbc.oci.xa.XADataSource as a
datasource.
Weblogic JDriver for Oracle "implementation" is really weak as a lot
of methods are not implemented.
This is why you get this message.
You may find the (very impressive) list of non implemented methods at
http://e-docs.bea.com/wls/docs70/oracle/API_joci.html#1162621 (sorry
HTML links don't seem to work here).
Any call to one of this methods will give you these nasty message and
exception.
Try to use the "official" Oracle JDBC driver XA Datasource
(oracle.jdbc.xa.client.OracleXADataSource) instead of Weblogic JDriver
for Oracle one's. -
Who can explain how EJB connect to Oracle9i DB with DataSource?
I have taken 4 days into this problem. I am developing EJB with J2EE1.3 and Oracle9i DB, I can connect to DB in code with DriverManager. But I want to use DataSource to connect to DB. I failed, I can not get new way to resolve it when I after try to connect with javax.sql.DataSource, oracle.jdbc.pool.OracleDataSource and oracle.jdbc.pool.OracleConnectionPoolDataSource.
I have got different Exceptions when I coding different ways:
one is:
Caught an exception.
java.rmi.ServerException: RemoteException occurred in server thread; nested exce
ption is:
java.rmi.RemoteException: nested exception is: javax.ejb.EJBException: U
nable to connect to database. com.sun.enterprise.resource.JdbcDataSource; nested
exception is:
javax.ejb.EJBException: Unable to connect to database. com.sun.enterpris
e.resource.JdbcDataSource
java.rmi.RemoteException: nested exception is: javax.ejb.EJBException: Unable to
connect to database. com.sun.enterprise.resource.JdbcDataSource; nested excepti
on is:
javax.ejb.EJBException: Unable to connect to database. com.sun.enterpris
e.resource.JdbcDataSource
javax.ejb.EJBException: Unable to connect to database. com.sun.enterprise.resour
ce.JdbcDataSource
<<no stack trace available>>
the Other is:
Caught an exception.
java.rmi.ServerException: RemoteException occurred in server thread; nested exce
ption is:
java.rmi.RemoteException: nested exception is: javax.ejb.EJBException: U
nable to connect to database. makeConnection:Io Exception: Connection refused(DESCRIP
TION=(TMP=)(VSNNUM=150999297)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4)
))); nested exception is:
javax.ejb.EJBException: Unable to connect to database. makeConnection:Io
Exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=150999297)(ERR=12505)(ERROR_
STACK=(ERROR=(CODE=12505)(EMFI=4))))
java.rmi.RemoteException: nested exception is: javax.ejb.EJBException: Unable to
connect to database. makeConnection:Io Exception: Connection refused(DESCRIPTION=(TM
P=)(VSNNUM=150999297)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4)))); nes
ted exception is:
javax.ejb.EJBException: Unable to connect to database. makeConnection:Io
Exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=150999297)(ERR=12505)(ERROR_
STACK=(ERROR=(CODE=12505)(EMFI=4))))
javax.ejb.EJBException: Unable to connect to database. makeConnection:Io Exception: C
onnection refused(DESCRIPTION=(TMP=)(VSNNUM=150999297)(ERR=12505)(ERROR_STACK=(E
RROR=(CODE=12505)(EMFI=4))))
<<no stack trace available>>
My codes related are:
private void makeConnection() throws NamingException, SQLException {
try{
InitialContext ic = new InitialContext();
OracleConnectionPoolDataSource ocpds = (OracleConnectionPoolDataSource) ic.lookup(dbName);
PooledConnection pc = ocpds.getPooledConnection();
con = pc.getConnection();
}catch(SQLException ex){
throw new SQLException("makeConnection:" + ex.getMessage());
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
con = DriverManager.getConnection(
"jdbc:oracle:thin:@172.28.200.43:1521:shcd",
"lijun", "xiaotian"); */
public void setEntityContext(EntityContext context) {
this.context = context;
try {
makeConnection();
} catch (Exception ex) {
throw new EJBException("Unable to connect to database. " +
ex.getMessage());
I believe I set JNDI and config EJB right, because I can run it with Cloudscape DB all right.
who can tell me where is my WRONG, or tell me how to connect to Oracle9i DB?Hi Jhlijun,
I am facing the same problem at the moment. However, I am not using a pooled connection. The following is my code. I am trying to connect a stateless session bean to an Oracle 9i database with result being fed back to a jsp page.
package Test;
import javax.naming.*;
import java.sql.*;
import java.util.*;
import javax.ejb.*;
import javax.sql.DataSource;
import javax.sql.*;
public class TestSessionEJBbean extends java.lang.Object implements javax.ejb.SessionBean
String q="Select NAMETITLE,NAMEFIRST,NAMELAST from People where PeopleRSN<100";
protected boolean create() throws java.lang.Exception
return true;
public TestSessionEJBbean()
{ // EJB constructors don't have a server context.
private void unhandledEvent( String listenerName, String methodName, java.lang.Object event )
// method for interface javax.ejb.SessionBean
public void ejbActivate() throws javax.ejb.EJBException, java.rmi.RemoteException
// To Do
// method for interface javax.ejb.SessionBean
public void ejbPassivate() throws javax.ejb.EJBException, java.rmi.RemoteException
// To Do
// method for interface javax.ejb.SessionBean
public void ejbRemove() throws javax.ejb.EJBException, java.rmi.RemoteException
// To Do
// method for interface javax.ejb.SessionBean
public void setSessionContext( javax.ejb.SessionContext parm0 ) throws javax.ejb.EJBException, java.rmi.RemoteException
this._sessionContext = parm0; // generated helper code
// To Do
* Test Method
public String Test() throws javax.ejb.EJBException
return "Hi! I am the SessionEjbBean.";
* Session Context of this EJB.
* Set in 'setSessionContext()' before any 'ejbCreate()' is executed.
private javax.ejb.SessionContext _sessionContext;
* ejbCreate Method
public void ejbCreate() throws javax.ejb.EJBException, javax.ejb.CreateException
try {
create(); // This 'create()' is used for internal initialization.
catch( java.lang.Exception __e) {
System.err.println( __e.toString() + " " + __e.getMessage() );
// TODO: implement
* getDBConnection Method
public sun.jdbc.rowset.CachedRowSet getDBConnection() throws javax.ejb.EJBException
String testPrint = "Starting...";//Only to check output
Connection conn;
sun.jdbc.rowset.CachedRowSet crset=null;
try {
testPrint += "before new InitialContext()....";//Only to check output
InitialContext ic = new InitialContext();
DataSource ds = (DataSource)ic.lookup("java:comp/env/jdbc/coquit");
testPrint += "before ds.getConnection()....";//Only to check output
conn = ds.getConnection("coquit","coquit");
testPrint += "before conn.createStatement()....";
Statement stmt=conn.createStatement();
testPrint += "before stmt.executeQuery(....)";
ResultSet rset = stmt.executeQuery(q);
testPrint += "before new sun.jdbc.rowset.CachedRowSet()";
crset = new sun.jdbc.rowset.CachedRowSet();
testPrint += "before crset.populate(rset)";
crset.populate(rset);
rset.close();
stmt.close();
conn.close();
} catch (NamingException ne) {
System.out.println("TestSessionEJBbean::getDBConnection Naming Exception " + ne);
}catch (Exception e){
System.out.println(testPrint+"...TestSessionEJBbean::getDBConnectionException" + e);
System.out.println("\n\n");
e.printStackTrace();
return crset; -
A lot of problems with Oracle BI SEE 11g
I have a lot of problems with Oracle BI SEE 11g
1. I upgraded my BI SEE 10 repository and can it openning in offline mode.
2. I can't deploy my upgraded repository in EM MW Control 11g - when i try to open Farm_bifoundation_domain->Business Intelligence->coreapplication, i get error "Stream closed
For more information, please see the server's error log for an entry beggining with: Server Exception during PPR, #41".
Opening Logs by EM control doesn't work too.
in file middleware\user_projects\domains\bifoundation_domain\servers\AdminServer\logs\AdminServer.log i see this event:
<Error> <HTTP> <oratest.itera.ru> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <b639ac3e56e9a463:bd6fa7f:12ac7271e09:-8000-00000000000009e8> <1283408423378> <BEA-101019> <[ServletContext@329875093[app:em module:/em path:/em spec-version:2.5]] Servlet failed with IOException
java.io.IOException: Stream closed
Have you any ideas?
3. Ok, i taking sample repository and adding a new datasource in it:
Database: Oracle 8i
Connection pool:
Call interface OCI 8i/9i
Data source name:
(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (Host = oraapp) (Port = 1521) ) ) (CONNECT_DATA = (SID = MYSID) ) )
This settings are working fine in BI 10.
In BI 11g i get this funny error: "The connection has failed". I lost my time in attempts to connect to Oracle DB 8, but have not results. After that i hacked button "Query DBMS" at "Features" tab, pressed it and when get error "ORA-03134: Connections to this server version are no longer supported.".
Therefore Oracle 8 DB as datasource not supported. Am i right?
4. In sample repository i added oracle DB 10 as datasource, then added two dual tables and their connection to all layers.
Now i open BI Answers, and trying to create report with one dummy column, Now i have this error:
Error
View Display Error
Odbc driver returned an error (SQLExecDirectW).
Error Details
Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 42016] Check database specific features table. Must be able to push at least a single table reference to a remote database (HY000)
SQL Issued: SELECT s_0, s_1 FROM ( SELECT 0 s_0, "ORA10G"."dual"."dummy" s_1 FROM "ORA10G" ) djm
Database features are defaults.
Does anyone solve this problem?Turribeach, Thanks for you time.
1. It was not a question
3. Yes, i have read platforms, but not supported datasources. Now i see, that BI 11g support as datasource Oracle DB 9.2.0.7 or higher. I am sorry.
4. I'm using OCI connection type
Now i recreate Database in Physical schema and answers is showing report data for me! But only from one table, when i use columns from to tables from one datasource, i geting error:
Error View Display Error Odbc driver returned an error (SQLExecDirectW). Error Details Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 46008] Internal error: File server/Utility/Server/DataType/SUKeyCompare.cpp, line 875. (HY000) SQL Issued: SELECT s_0, s_1, s_2 FROM ( SELECT 0 s_0, "Ora10g"."hierarchy_obj_cust_v"."sort_order" s_1, "Ora10g"."NSI_SCHEMA"."SCHEMA_NAME" s_2 FROM "Ora10g" ) djm
Edited by: serzzzh on 03.09.2010 3:44 -
Oracle 8i jdbc/Tomcat connection issues
Tomcat 4.1.8
Oracle 8i JDBC Driver
I have been able to create the DataSource as a global resource and as a local resource inside the context of the application.
The code hangs when it attempts to create a connection. I have been able to connect to the database and perform the necessary query in a standalone application to ensure that I actually can connect.
JSP Code:
<html>
<head>
<title>VTW App</title>
</head>
<body>
<%
vtw.VTWApp tst = new vtw.VTWApp();
tst.init();
%>
<h2>Results</h2>
<%= tst.getList() %>
</body>
</html>
Java Code (Class called by JSP):
package vtw;
import javax.naming.*;
import javax.sql.*;
import java.sql.*;
public class VTWApp {
String list = "EMPTY";
public void init() {
try{
Context ctx = new InitialContext();
if(ctx == null )
throw new Exception("Boom - No Context");
System.out.println("Context Created ...");
DataSource ds =
(DataSource)ctx.lookup(
"java:comp/env/jdbc/oracleDB");
if (ds != null) {
System.out.println("DataSource Created ...");
Connection conn = ds.getConnection();
System.out.println("Connection Pulled");
if(conn != null) {
System.out.println("Connection Good");
Statement st = conn.createStatement();
String query = "";
query += "select grpid, to_char(min(dtlastendtime),'mm-dd-yyyy hh24:mi:ss') ";
query += "from calc_table where equipmentsernum in (";
query += "'888000','888001'";
query += ") group by grpid";
ResultSet rs = st.executeQuery(query);
if(rs != null) {
list = "";
while(rs.next()) {
list += (rs.getString(1) + "," + rs.getString(2));
rs.close();
conn.close();
System.out.println("Connection Closed");
} else {
System.out.println("Connection Not Established");
}catch(Exception e) {
e.printStackTrace();
public String getList() { return list; }
}I figured out the issue ...
In the server.xml file the resource & resource params needed to be modified..
1. Set type to oracle.jdbc.pool.OracleDataSource
2. Set factory to oracle.jdbc.pool.OracleDataSourceFactory
3. In the Java code cast the context lookup to an OracleDataSource instead of a java.sql.DataSource
Oracles DataSource does not subclass the jdbc DataSource for its OracleDataSource class everything works fine now.
<Resource name="jdbc/mydb" scope="Shareable" type="oracle.jdbc.pool.OracleDataSource"/>
<ResourceParams name="jdbc/mydb">
<parameter>
<name>validationQuery</name>
<value></value>
</parameter>
<parameter>
<name>factory</name>
<value>oracle.jdbc.pool.OracleDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@server.company.com:1521:dbname</value>
</parameter>
<parameter>
<name>password</name>
<value>guest</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<parameter>
<name>user</name>
<value>guest</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
</ResourceParams>
Maybe you are looking for
-
Report for Paid Invoices from AP Point of view.
Hello Gurus, I am looking for a Report from SAP which will give me the Paid Invoices Information from Accounts Payable Point of view for a Particular Period which should cover the below information... Entity Invoice # Invoice Date Vendor Name Invoic
-
while texting with more than one person at a time the incoming texts scrolls to top of conversation. anyone having this issue?
-
I just downloaded Acrobat reader Dc for windows and cannot print two sided.
-
Best Practice to save the contacts in the Database
Hi everybody, I´m looking for some tips about the data in the Database. I would like to know what are the best practices saving a record. For example, I want to save the First Name, Second Name and the Last Name in the DB, How can I save them, I mean
-
PrP crash report generated when program closed in normal manner
Just today a Motocross project Ive been working on for 2 weeks is acting a bit strange. Whenever I quit the program in a normal manner, 15 seconds later I get the "Crash report generated" screen. The only thing I have done to the project recently is