Bug in thin driver? - getTableName
Using oracle.jdbc.driver.OracleDriver (class dated 5/4/00 12:01 AM) in Classes12_01.zip (dated 9/25/00 4:53 PM). The ResultSetMetaData.getTableName() method returns an empty String (is not null), although column names and values come across fine.
Any help is greatly appreciated.
Michael
I tried this under both the oci8 and thin and had successful results. Your cut/paste shows no column identifier as per the javadocs:
...from JD:
public String getTableName(int column) throws SQLException
...example from JD:
ResultSet rs = stmt.executeQuery("SELECT TABLE_NAME FROM ALL_TABLES");
ResultSetMetaData rsmd = rs.getMetaData();
String tableName = rs.getTableName(1);
null
Similar Messages
-
Bug in Oracle JDBC thin driver (parameter order)
[ I'd preferably send this to some Oracle support email but I
can't find any on both www.oracle.com and www.technet.com. ]
The following program illustrates bug I found in JDBC Oracle thin
driver.
* Synopsis:
The parameters of prepared statement (I tested SELECT's and
UPDATE's) are bound in the reverse order.
If one do:
PreparedStatement p = connection.prepareStatement(
"SELECT field FROM table WHERE first = ? and second = ?");
and then bind parameter 1 to "a" and parameter to "b":
p.setString(1, "a");
p.setString(2, "b");
then executing p yields the same results as executing
SELECT field FROM table WHERE first = "b" and second = "a"
although it should be equivalent to
SELECT field FROM table WHERE first = "a" and second = "b"
The bug is present only in "thin" Oracle JDBC driver. Changing
driver to "oci8" solves the problem.
* Version and platform info:
I detected the bug using Oracle 8.0.5 server for Linux.
According to $ORACLE_HOME/jdbc/README.doc that is
Oracle JDBC Drivers release 8.0.5.0.0 (Production Release)
* The program below:
The program below illustrates the bug by creating dummy two
column table, inserting the row into it and then selecting
the contents using prepared statement. Those operations
are performed on both good (oci8) and bad (thin) connections,
the results can be compared.
You may need to change SID, listener port and account data
in getConnecton calls.
Sample program output:
$ javac ShowBug.java; java ShowBug
Output for both connections should be the same
--------------- thin Driver ---------------
[ Non parametrized query: ]
aaa
[ The same - parametrized (should give one row): ]
[ The same - with buggy reversed order (should give no answers):
aaa
--------------- oci8 driver ---------------
[ Non parametrized query: ]
aaa
[ The same - parametrized (should give one row): ]
aaa
[ The same - with buggy reversed order (should give no answers):
--------------- The end ---------------
* The program itself
import java.sql.*;
class ShowBug
public static void main (String args [])
throws SQLException
// Load the Oracle JDBC driver
DriverManager.registerDriver(new
oracle.jdbc.driver.OracleDriver());
System.out.println("Output for both connections should be the
same");
Connection buggyConnection
= DriverManager.getConnection
("jdbc:oracle:thin:@localhost:1521:ORACLE",
"scott", "tiger");
process("thin Driver", buggyConnection);
Connection goodConnection
= DriverManager.getConnection ("jdbc:oracle:oci8:",
"scott", "tiger");
process("oci8 driver", goodConnection);
System.out.println("--------------- The end ---------------");
public static void process(String title, Connection conn)
throws SQLException
System.out.println("--------------- " + title + "
Statement stmt = conn.createStatement ();
stmt.execute(
"CREATE TABLE bug (id VARCHAR(10), val VARCHAR(10))");
stmt.executeUpdate(
"INSERT INTO bug VALUES('aaa', 'bbb')");
System.out.println("[ Non parametrized query: ]");
ResultSet rset = stmt.executeQuery(
"select id from bug where id = 'aaa' and val = 'bbb'");
while (rset.next ())
System.out.println (rset.getString (1));
System.out.println("[ The same - parametrized (should give one
row): ]");
PreparedStatement prep = conn.prepareStatement(
"select id from bug where id = ? and val = ?");
prep.setString(1, "aaa");
prep.setString(2, "bbb");
rset = prep.executeQuery();
while (rset.next ())
System.out.println (rset.getString (1));
System.out.println("[ The same - with buggy reversed order
(should give no answers): ]");
prep = conn.prepareStatement(
"select id from bug where id = ? and val = ?");
prep.setString(1, "bbb");
prep.setString(2, "aaa");
rset = prep.executeQuery();
while (rset.next ())
System.out.println (rset.getString (1));
stmt.execute("DROP TABLE bug");
nullHorea
In the ejb-jar.xml, in the method a cursor is closed, set <trans-attribute>
to "Never".
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name></ejb-name>
<method-name></method-name>
</method>
<trans-attribute>Never</trans-attribute>
</container-transaction>
</assembly-descriptor>
Deepak
Horea Raducan wrote:
Is there a known bug in Oracle JDBC thin driver version 8.1.6 that would
prevent it from closing the open cursors ?
Thank you,
Horea -
Bug in Oracle JDBC thin driver 8.1.6 ?
Is there a known bug in Oracle JDBC thin driver version 8.1.6 that would
prevent it from closing the open cursors ?
Thank you,
HoreaHorea
In the ejb-jar.xml, in the method a cursor is closed, set <trans-attribute>
to "Never".
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name></ejb-name>
<method-name></method-name>
</method>
<trans-attribute>Never</trans-attribute>
</container-transaction>
</assembly-descriptor>
Deepak
Horea Raducan wrote:
Is there a known bug in Oracle JDBC thin driver version 8.1.6 that would
prevent it from closing the open cursors ?
Thank you,
Horea -
How to run 2 different versions of thin driver
We are about to deploy our app that is using CMP 2.0 entity beans on WLS 7.0 and it requires an older version of the oracle thin driver because of known bugs in the driver. The problem is there are multiple applications on our staging server and we don't want to effect them by changing the version of classes.zip in WL_HOME\server\lib\classes12.zip. Any thoughts? Could we just create a new domain for the new application and alter the classpath in the start script to find a local copy of classes.zip?
Hi Mike!
You are on right track Mike. You can create new Domain, deploy application there and use the required classes12.zip file by pointing to it first in the weblogic classpath. It has to be in seperate JVM though(different console) to take effect of another classes12.zip.
Thanks,
Mitesh
Mike Stahl wrote:
We are about to deploy our app that is using CMP 2.0 entity beans on WLS 7.0 and it requires an older version of the oracle thin driver because of known bugs in the driver. The problem is there are multiple applications on our staging server and we don't want to effect them by changing the version of classes.zip in WL_HOME\server\lib\classes12.zip. Any thoughts? Could we just create a new domain for the new application and alter the classpath in the start script to find a local copy of classes.zip? -
Jdbc thin driver 8.1.7 and views from older versions of oracle
Config:
Windows 2000 | jdk 1.3.1 | oracle's latest jdbc driver 8.1.7,
also tried 9.0.1 (classes12.zip), using thin driver
I try to select,using a PreparedStatment, from a view on Oracle
8.1.7, the view is linked to a table on Oracle 7.2.2.3.
I get different results when running the same query, I use an
older version of the driver to connect to the older version of
Oracle(classes111.zip), on the table directly and on the view.
This seems to be predominantly present when dealing with
integers.
Any comments or help would be appreciated.I have found a workaround to this problem.
The only way, that I have been able to determine, of resolving
this issue is to use a Statement, not a PreparedStatement, which
causes problems for some reason. I figure there's a bug in
Oracle's JDBC layer.
Maybe this will help someone...maybe not :)
kamil -
Hanging problem with Oracle JDBC thin driver
Hi. We have an application running on top of WLS 6.1 accessing Oracle 8I with oracle's
JDBC thin driver. Under stress testing, it appears to hang sometimes. Thread dump
shows that many threads seem to be stuck at the same line of code in JDBC driver
(at oracle.sql.NUMBER._isPositive(NUMBER.java:2882)). Has anyone run into similar
issue? Any help is much appreciated.
"ExecuteThread: '1' for queue: 'default'" daemon prio=5 tid=0xe18960 nid=0xf wai
ting on monitor [0xb3680000..0xb36819d8]
at oracle.sql.NUMBER._isPositive(NUMBER.java:2882)
at oracle.sql.NUMBER._fromLnxFmt(NUMBER.java:2953)
at oracle.sql.NUMBER.toBigDecimal(NUMBER.java:557)
at oracle.sql.NUMBER.bigDecimalValue(NUMBER.java:1872)
at oracle.jdbc.dbaccess.DBConversion.NumberBytesToBigDecimal(DBConversion.ja
va:1771)
at oracle.jdbc.driver.OracleStatement.getBigDecimalValue(OracleStatement.jav
a:3357)
at oracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:41
66)
at oracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:41
23)
at oracle.jdbc.driver.OracleResultSetImpl.getObject(OracleResultSetImpl.java
:401)
at weblogic.jdbc.jts.ResultSet.getObject(ResultSet.java:268)
at weblogic.jdbc.rmi.internal.ResultSetImpl.getObject(ResultSetImpl.java:592
at weblogic.jdbc.rmi.internal.ResultSetStraightReader.getObject(ResultSetStr
aightReader.java:198)
at weblogic.jdbc.rmi.SerialResultSet.getObject(SerialResultSet.java:682)
"ExecuteThread: '6' for queue: 'default'" daemon prio=5 tid=0x6d93a8 nid=0x14
wa
iting on monitor [0xb3180000..0xb31819d8]
at oracle.sql.NUMBER._isPositive(NUMBER.java:2882)
at oracle.sql.NUMBER._fromLnxFmt(NUMBER.java:2953)
at oracle.sql.NUMBER.toBigDecimal(NUMBER.java:557)
at oracle.sql.NUMBER.bigDecimalValue(NUMBER.java:1872)
at oracle.jdbc.dbaccess.DBConversion.NumberBytesToBigDecimal(DBConversion.ja
va:1771)
at oracle.jdbc.driver.OracleStatement.getBigDecimalValue(OracleStatement.jav
a:3357)
at oracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:41
66)
at oracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:41
23)
at oracle.jdbc.driver.OracleResultSetImpl.getObject(OracleResultSetImpl.java
:401)
at weblogic.jdbc.jts.ResultSet.getObject(ResultSet.java:268)
at weblogic.jdbc.rmi.internal.ResultSetImpl.getObject(ResultSetImpl.java:592
at weblogic.jdbc.rmi.internal.ResultSetStraightReader.getObject(ResultSetStr
aightReader.java:198)
at weblogic.jdbc.rmi.SerialResultSet.getObject(SerialResultSet.java:682)Try get the latest thin driver from oracle and place it in the beginning of
the classpath in the server startup script to use it. This seems like a
oracle thin driver bug, the newer driver might help.
sree
"Andrew Dong" <[email protected]> wrote in message
news:[email protected]...
>
Hi. We have an application running on top of WLS 6.1 accessing Oracle 8Iwith oracle's
JDBC thin driver. Under stress testing, it appears to hang sometimes.Thread dump
shows that many threads seem to be stuck at the same line of code in JDBCdriver
(at oracle.sql.NUMBER._isPositive(NUMBER.java:2882)). Has anyone run intosimilar
issue? Any help is much appreciated.
"ExecuteThread: '1' for queue: 'default'" daemon prio=5 tid=0xe18960nid=0xf wai
ting on monitor [0xb3680000..0xb36819d8]
at oracle.sql.NUMBER._isPositive(NUMBER.java:2882)
at oracle.sql.NUMBER._fromLnxFmt(NUMBER.java:2953)
at oracle.sql.NUMBER.toBigDecimal(NUMBER.java:557)
at oracle.sql.NUMBER.bigDecimalValue(NUMBER.java:1872)
atoracle.jdbc.dbaccess.DBConversion.NumberBytesToBigDecimal(DBConversion.ja
va:1771)
atoracle.jdbc.driver.OracleStatement.getBigDecimalValue(OracleStatement.jav
a:3357)
atoracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:41
66)
atoracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:41
23)
atoracle.jdbc.driver.OracleResultSetImpl.getObject(OracleResultSetImpl.java
:401)
at weblogic.jdbc.jts.ResultSet.getObject(ResultSet.java:268)
atweblogic.jdbc.rmi.internal.ResultSetImpl.getObject(ResultSetImpl.java:592
atweblogic.jdbc.rmi.internal.ResultSetStraightReader.getObject(ResultSetStr
aightReader.java:198)
atweblogic.jdbc.rmi.SerialResultSet.getObject(SerialResultSet.java:682)
>
"ExecuteThread: '6' for queue: 'default'" daemon prio=5 tid=0x6d93a8nid=0x14
wa
iting on monitor [0xb3180000..0xb31819d8]
at oracle.sql.NUMBER._isPositive(NUMBER.java:2882)
at oracle.sql.NUMBER._fromLnxFmt(NUMBER.java:2953)
at oracle.sql.NUMBER.toBigDecimal(NUMBER.java:557)
at oracle.sql.NUMBER.bigDecimalValue(NUMBER.java:1872)
atoracle.jdbc.dbaccess.DBConversion.NumberBytesToBigDecimal(DBConversion.ja
va:1771)
atoracle.jdbc.driver.OracleStatement.getBigDecimalValue(OracleStatement.jav
a:3357)
atoracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:41
66)
atoracle.jdbc.driver.OracleStatement.getObjectValue(OracleStatement.java:41
23)
atoracle.jdbc.driver.OracleResultSetImpl.getObject(OracleResultSetImpl.java
:401)
at weblogic.jdbc.jts.ResultSet.getObject(ResultSet.java:268)
atweblogic.jdbc.rmi.internal.ResultSetImpl.getObject(ResultSetImpl.java:592
atweblogic.jdbc.rmi.internal.ResultSetStraightReader.getObject(ResultSetStr
aightReader.java:198)
atweblogic.jdbc.rmi.SerialResultSet.getObject(SerialResultSet.java:682)
>
> -
Problem in WSAD 5.0.0 with Oracle thin Driver
Hi All,
Can anyone help me to solve the following problem while using a batch update
java.lang.NullPointerException
at oracle.jdbc.dbaccess.DBData.clearItem(DBData.java:431)
at oracle.jdbc.dbaccess.DBDataSetImpl.clearItem(DBDataSetImpl.java:3528)
at oracle.jdbc.driver.OraclePreparedStatement.clearParameters(OraclePreparedStatement.java:3401)
at oracle.jdbc.driver.OracleCallableStatement.clearParameters(OracleCallableStatement.java:818)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.resetStatement(WSJdbcConnection.java:1767)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareCall(WSJdbcConnection.java:1381)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareCall(WSJdbcConnection.java:1346)
at com.americanexpress.statdc.manual.dao.ManualStatLoadDAO.loadStatItems(ManualStatLoadDAO.java:668)
at com.americanexpress.statdc.manual.dao.ManualStatLoadDAO.submitStatItems(ManualStatLoadDAO.java:609)
at com.americanexpress.statdc.manual.ejb.ManualStatLoadEJBBean.submitStatItems(ManualStatLoadEJBBean.java:252)
at com.americanexpress.statdc.manual.ejb.EJSRemoteStatelessManualStatLoadEJB_38e2da07.submitStatItems(EJSRemoteStatelessManualStatLoadEJB_38e2da07.java:472)
at com.americanexpress.statdc.manual.ejb._ManualStatLoadEJB_Stub.submitStatItems(_ManualStatLoadEJB_Stub.java:451)
at com.americanexpress.statdc.manual.businessdelegate.ManualStatLoadBusinessDelegate.submitStatItems(ManualStatLoadBusinessDelegate.java:86)
at com.americanexpress.statdc.manual.handlers.InputterStatDataRequestHandler.processRequest(InputterStatDataRequestHandler.java:123)
at com.americanexpress.util.frontservlet.FrontServlet.processRequest(Unknown Source)
at com.americanexpress.util.frontservlet.FrontServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:76)
at com.americanexpress.statdc.infrastructure.filter.StatDCGZipFilter.doFilter(StatDCGZipFilter.java:59)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:132)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:71)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:1064)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:598)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:206)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:80)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:214)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:116)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:623)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:447)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)
This exception is occuring at the time of preparing the Callable Statement.
We are using WSAD 5.0.0 with JDK 1.3.1, Oracle thin driver for Oracle 9i.
Thanks in advance.
Regards,
SheshaHi,
This problem is caused by bug in the jdbc oracle driver:
oracle.jdbc.dbaccess.DBData.clearItem(DBData.java:431)
Line 431 looks like:
/* 431 */ if(m_items == null && i >= m_items.length) // it never works!
NullPointerException occures when you call
java.sql.CallableStatement.clearParameters()
1. Avoid to call this method in your code.
2. Websphere also calls this method in the WSJdbcConnection.class (while reusing the statement after caching it).
You may force websphere not to reuse your statement for example by adding timestamp to it as comment:
String timestamp = String.valueOf(System.currentTimeMillis());
String myCommand = "call myprocedure( ?, ?) -- " + timestamp);
conn.prepareCall(myCommand); -
JDBC 2.0 compliance of Thin driver
Does the Oracle 8.1.5 version of the JDBC this driver support updatable results sets?
Hi Mike!
You are on right track Mike. You can create new Domain, deploy application there and use the required classes12.zip file by pointing to it first in the weblogic classpath. It has to be in seperate JVM though(different console) to take effect of another classes12.zip.
Thanks,
Mitesh
Mike Stahl wrote:
We are about to deploy our app that is using CMP 2.0 entity beans on WLS 7.0 and it requires an older version of the oracle thin driver because of known bugs in the driver. The problem is there are multiple applications on our staging server and we don't want to effect them by changing the version of classes.zip in WL_HOME\server\lib\classes12.zip. Any thoughts? Could we just create a new domain for the new application and alter the classpath in the start script to find a local copy of classes.zip? -
How can I see KSC5602 character set using JDBC thin driver
After I change character set from USASCII7 to KO16KSC5601, I
cannot see korean from the clients
using JDBC thin driver.
But, I can see korean clearly using sqlplus at serer, or
application using SQLNet.
I use Oracle Enterprise Server 8.0.4.1.0, jdbc thin driver
8.0.4.0.6 on Windows 98. I read that all bugs realated
to multibyte language are fixed in Oracle8. What can I do to
solve this problem?
PS.server: Oracle 8.0.4.1 on Digital Unix 4.0b, client: jdk1.1.8
on Windows98. I used the command.
nullThe easiest thing to do is download it as an archive with your applet.
Otherwise, you have to have the files on every client machine.
For netscape, put the classes111.jar in the java classes folder typically:
c:\ProgramFiles\Netscape\Communicator\Program\java\classes.
I'd expect that IE would be setup in a similar way. -
Oracle server side jdbc thin driver throws ORA-01017
We upgraded our database to 11.2.0.1 from 9.2.0.6.
When we try to connect to an external database from Oracle JVM using server side jdbc thin driver, it throws invalid user id/password error.
The below test code simulates the issue and is not working on the upgraded instance. The same code is working in fine in other 11.2.0.1 instances. It worked fine before upgrade. In all cases, we are connecting to the same target database instance which is also in 11.2.0.1. It fails only on this database.
SEC_CASE_SENSITIVE_LOGON is set to false.
Any inputs will be highly appreciated.
Code:_
create or replace and compile java source named TestConn as
import java.sql.SQLException;
import oracle.jdbc.OracleDriver;
import oracle.jdbc.OracleConnection;
import java.sql.DriverManager;
public class TestConn {
public static String runTest() {
String msg = "Start";
OracleConnection tempOC = null;
try {
String pUrl = "jdbc:oracle:thin:@dev:1521:dev";
String pUser = "tst_user";
String pPwd = "dummy";
DriverManager.registerDriver (new oracle.jdbc.OracleDriver());
tempOC = (OracleConnection)DriverManager.getConnection(pUrl, pUser, pPwd);
msg = "Success";
} catch (SQLException sqle) {
System.out.println(sqle.toString());
sqle.printStackTrace();
msg = "Failure";
return msg;
CREATE OR REPLACE FUNCTION test_conn RETURN VARCHAR2
AS LANGUAGE JAVA
NAME 'TestConn.runTest() return java.lang.String';
set serverout on
declare
c varchar2(4000);
begin
dbms_java.set_output(5000);
c:=test_conn();
dbms_output.put_line(c);
end;
/ Error Message_
java.sql.SQLException: ORA-01017: invalid username/password; logon denied
java.sql.SQLException: ORA-01017: invalid username/password; logon denied
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:388)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:381)
at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:564)
at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:431)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:366)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:359)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java)
at java.sql.DriverManager.getConnection(DriverManager.java)
at java.sql.DriverManager.getConnection(DriverManager.java)
at TestConn.runTest(TESTCONN:22) Edited by: sskumar on Mar 6, 2011 1:12 PMAt the time our issue was resolved, the bug was not published. And, I was told, there was no information in metalink about the isue. I am not sure whether they published some thing in the last few weeks.
This is what resolved our issue.
Step 1: alter system set java_jit_enabled=FALSE;
Step 2: Try your test case. If it is the same issue as ours, your test case will be successful. If it succeeds, Go to step 3. If it does not succeed, it is a different issue.
Step 3: alter system set java_jit_enabled=TRUE;
Step 4: Run your test case. If it is the same issue, it is expected to fail. Go to Step 5 in case of failure.
Step 5: Delete all rows from table java$mc$
Step 6: Restart the database
Step 7: Run your test case. It is expected to be successful. -
ConnectionPool - Oracle thin driver
Hi all,
I'm having problem setting up connection pool for a oracle thin driver
appreciate any help..
platform : Windows 2000
WebLogic version :Build: 5.1.0
Oracle version : 8.1.6
Classpath :...
C:\Oracle\Ora81\jdbc\lib\classes12.zip;C:\Oracle\Ora81\jdbc\lib\nls_charset1
2.zip;
============================================================================
===========================
I've tested t3dbping and it works fine. This is the way it looked:
java utils.t3dbping t3://dcpvs00j:7001 plovdinger plovdinger ""
oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@prodbackup:1521:orcl
============================================================================
===========================
I setup the properties in weblogic.properties like this:
# props=user=SCOTT;password=tiger;server=DEMO
weblogic.jdbc.connectionPool.oraclePool=\
url=jdbc:oracle:thin:@prodbackup:1521:orcl,\
driver=oracle.jdbc.driver.OracleDriver,\
loginDelaySecs=1,\
initialCapacity=4,\
maxCapacity=10,\
capacityIncrement=2,\
allowShrinking=true,\
shrinkPeriodMins=15,\
refreshMinutes=10,\
testTable=USER_PROFILE,
props=user=PLOVDINGER;password=PLOVDINGER
============================================================================
===========================
Then I get this in the log:
Appreciate any ideas and suggestions.....
cheers Per
============================================================================
===========================
Wed Feb 07 09:13:24 GMT+00:00 2001:<I> <SSLListenThread> Using exportable
strength SSL.
Wed Feb 07 09:13:24 GMT+00:00 2001:<I> <WebLogicServer> Invoking main-style
startup weblogic.jdbc.com
mon.internal.JdbcStartup weblogic.jdbc.common.internal.JdbcStartup
Wed Feb 07 09:13:25 GMT+00:00 2001:<I> <JDBC Pool> Creating connection pool
oraclePool with:
{poolName=oraclePool, driver=oracle.jdbc.driver.OracleDriver,
aclName=weblogic.jdbc.connectionPool.or
aclePool, url=jdbc:oracle:thin:@prodbackup:1521:orcl}
java.sql.SQLException: invalid arguments in call
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:156)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:803)
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:175)
at
oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
at
oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Connection
EnvFactory.jav
a:149)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Connection
EnvFactory.jav
a:109)
at
weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.j
ava, Compiled
Code)
at
weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java,
Compiled Code)
at
weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:330
at weblogic.jdbc.common.internal.JdbcInfo.initPools(JdbcInfo.java,
Compiled Code)
at weblogic.jdbc.common.internal.JdbcInfo.startup(JdbcInfo.java:200)
at
weblogic.jdbc.common.internal.JdbcStartup.main(JdbcStartup.java:11)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.t3.srvr.StartupThread.runMain(StartupThread.java:219)
at weblogic.t3.srvr.StartupThread.doWork(StartupThread.java,
Compiled Code)
at
weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java:62)
Wed Feb 07 09:13:25 GMT+00:00 2001:<I> <JDBC Pool> Sleeping in
createResource()
Wed Feb 07 09:13:26 GMT+00:00 2001:<E> <JDBC Pool> Failed to create
connection pool "oraclePool"
weblogic.common.ResourceException: weblogic.common.ResourceException:
Could not create pool connection. The DBMS driver exception was:
java.sql.SQLException: invalid arguments in call
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:156)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:803)
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:175)
at
oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
at
oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
at java.sql.DriverManager.getConnection(DriverManager.java:457)
at java.sql.DriverManager.getConnection(DriverManager.java:137)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Connection
EnvFactory.jav
a:172)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Connection
EnvFactory.jav
a:109)
at
weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.j
ava, Compiled
Code)
at
weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java,
Compiled Code)
at
weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:330
at weblogic.jdbc.common.internal.JdbcInfo.initPools(JdbcInfo.java,
Compiled Code)
at weblogic.jdbc.common.internal.JdbcInfo.startup(JdbcInfo.java:200)
at
weblogic.jdbc.common.internal.JdbcStartup.main(JdbcStartup.java:11)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.t3.srvr.StartupThread.runMain(StartupThread.java:219)
at weblogic.t3.srvr.StartupThread.doWork(StartupThread.java,
Compiled Code)
at
weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java:62)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Connection
EnvFactory.jav
a:182)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Connection
EnvFactory.jav
a:109)
at
weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.j
ava, Compiled
Code)
at
weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java,
Compiled Code)
at
weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:330
at weblogic.jdbc.common.internal.JdbcInfo.initPools(JdbcInfo.java,
Compiled Code)
at weblogic.jdbc.common.internal.JdbcInfo.startup(JdbcInfo.java:200)
at
weblogic.jdbc.common.internal.JdbcStartup.main(JdbcStartup.java:11)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.t3.srvr.StartupThread.runMain(StartupThread.java:219)
at weblogic.t3.srvr.StartupThread.doWork(StartupThread.java,
Compiled Code)
at
weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java:62)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Connection
EnvFactory.jav
a:125)
at
weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.j
ava, Compiled
Code)
at
weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java,
Compiled Code)
at
weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:330
at weblogic.jdbc.common.internal.JdbcInfo.initPools(JdbcInfo.java,
Compiled Code)
at weblogic.jdbc.common.internal.JdbcInfo.startup(JdbcInfo.java:200)
at
weblogic.jdbc.common.internal.JdbcStartup.main(JdbcStartup.java:11)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.t3.srvr.StartupThread.runMain(StartupThread.java:219)
at weblogic.t3.srvr.StartupThread.doWork(StartupThread.java,
Compiled Code)
at
weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java:62)
Wed Feb 07 09:13:26 GMT+00:00 2001:<I> <JMS> Beginning startup process
Wed Feb 07 09:13:26 GMT+00:00 2001:<I> <JMS> Init JMS Security
Wed Feb 07 09:13:26 GMT+00:00 2001:<I> <JMS> Initializing from
weblogic.properties
Wed Feb 07 09:13:26 GMT+00:00 2001:<I> <JMS> Startup process complete. JMS
is active
Wed Feb 07 09:13:26 GMT+00:00 2001:<I> <JMS> Bound SessionPoolManager as
weblogic.jms.SessionPoolMana
ger
Wed Feb 07 09:13:26 GMT+00:00 2001:<I> <JMS> Bound ConnectionConsumerManager
as weblogic.jms.Connecti
onConsumerManager
Wed Feb 07 09:13:26 GMT+00:00 2001:<I> <WebLogicServer> Invoking main-style
startup RMI Registry webl
ogic.rmi.internal.RegistryImpl
Wed Feb 07 09:13:26 GMT+00:00 2001:<I> <RMI> Registry started
Wed Feb 07 09:13:27 GMT+00:00 2001:<I> <EJB> 0 EJB jar files loaded,
containing 0 EJBs
Wed Feb 07 09:13:27 GMT+00:00 2001:<I> <EJB> 0 deployed, 0 failed to deploy.
Wed Feb 07 09:13:27 GMT+00:00 2001:<I> <ZAC> ZAC ACLs initialized
Wed Feb 07 09:13:27 GMT+00:00 2001:<I> <ZAC> ZAC packages stored in local
directory exports
Wed Feb 07 09:13:27 GMT+00:00 2001:<I> <ListenThread> Listening on port:
7001
Wed Feb 07 09:13:27 GMT+00:00 2001:<I> <SSLListenThread> Listening on port:
7002
<NT Performance Pack> NATIVE: created IoCompletionPort successfully.
IoPort=0x00000230
Wed Feb 07 09:13:28 GMT+00:00 2001:<I> <WebLogicServer> WebLogic Server
startedChris Halstead wrote:
>
Don't get caught by the 'refreshMinutes' bug....the parameter is really
'refreshTestMinutes'. The sample connection pool code in the
weblogic.properties file that comes with the install erroneously has this
parameter wrong. If the parameter is not right, Weblogic will silently
ignore it...to your detriment. This is especially important if you connect
to a DB through a firewall.
-chrisThanks for the heads-up!
Joe
>
"Per Lovdinger" <[email protected]> wrote in message
news:[email protected]...
Hi,
thanks a lot for your help. Just to let you know it worked when I declared
the connection-pool on one line.
..Per
"Joseph Weinstein" <[email protected]> wrote in message
news:[email protected]...
Per Lovdinger wrote:
Hi all,
I'm having problem setting up connection pool for a oracle thin driver
appreciate any help..
platform : Windows 2000
WebLogic version :Build: 5.1.0
Oracle version : 8.1.6
Classpath :...
C:\Oracle\Ora81\jdbc\lib\classes12.zip;C:\Oracle\Ora81\jdbc\lib\nls_charset1
2.zip;
============================================================================
===========================
I've tested t3dbping and it works fine. This is the way it looked:
java utils.t3dbping t3://dcpvs00j:7001 plovdinger plovdinger ""
oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@prodbackup:1521:orcl
============================================================================
===========================
I setup the properties in weblogic.properties like this:
# props=user=SCOTT;password=tiger;server=DEMO
weblogic.jdbc.connectionPool.oraclePool=\
url=jdbc:oracle:thin:@prodbackup:1521:orcl,\
driver=oracle.jdbc.driver.OracleDriver,\
loginDelaySecs=1,\
initialCapacity=4,\
maxCapacity=10,\
capacityIncrement=2,\
allowShrinking=true,\
shrinkPeriodMins=15,\
refreshMinutes=10,\
testTable=USER_PROFILE,
props=user=PLOVDINGER;password=PLOVDINGERHi. Put a '\' at the end of the line
testTable=USER_PROFILE,
Joe
============================================================================
===========================
Then I get this in the log:
Appreciate any ideas and suggestions.....
cheers Per
============================================================================
===========================
Wed Feb 07 09:13:24 GMT+00:00 2001:<I> <SSLListenThread> Usingexportable
strength SSL.
Wed Feb 07 09:13:24 GMT+00:00 2001:<I> <WebLogicServer> Invokingmain-style
startup weblogic.jdbc.com
mon.internal.JdbcStartup weblogic.jdbc.common.internal.JdbcStartup
Wed Feb 07 09:13:25 GMT+00:00 2001:<I> <JDBC Pool> Creating connectionpool
oraclePool with:
{poolName=oraclePool, driver=oracle.jdbc.driver.OracleDriver,
aclName=weblogic.jdbc.connectionPool.or
aclePool, url=jdbc:oracle:thin:@prodbackup:1521:orcl}
java.sql.SQLException: invalid arguments in call
atoracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
atoracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:156)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:803)
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:175)
at
oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
at
oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
atoracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Connection
EnvFactory.jav
a:149)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Connection
EnvFactory.jav
a:109)
at
weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.j
ava, Compiled
Code)
at
weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java,
Compiled Code)
at
weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:330
atweblogic.jdbc.common.internal.JdbcInfo.initPools(JdbcInfo.java,
Compiled Code)
atweblogic.jdbc.common.internal.JdbcInfo.startup(JdbcInfo.java:200)
at
weblogic.jdbc.common.internal.JdbcStartup.main(JdbcStartup.java:11)
at java.lang.reflect.Method.invoke(Native Method)
atweblogic.t3.srvr.StartupThread.runMain(StartupThread.java:219)
at weblogic.t3.srvr.StartupThread.doWork(StartupThread.java,
Compiled Code)
at
weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java:62)
Wed Feb 07 09:13:25 GMT+00:00 2001:<I> <JDBC Pool> Sleeping in
createResource()
Wed Feb 07 09:13:26 GMT+00:00 2001:<E> <JDBC Pool> Failed to create
connection pool "oraclePool"
weblogic.common.ResourceException: weblogic.common.ResourceException:
Could not create pool connection. The DBMS driver exception was:
java.sql.SQLException: invalid arguments in call
atoracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
atoracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:156)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:803)
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:175)
at
oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
at
oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
atoracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
at
java.sql.DriverManager.getConnection(DriverManager.java:457)
atjava.sql.DriverManager.getConnection(DriverManager.java:137)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Connection
EnvFactory.jav
a:172)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Connection
EnvFactory.jav
a:109)
at
weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.j
ava, Compiled
Code)
at
weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java,
Compiled Code)
at
weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:330
atweblogic.jdbc.common.internal.JdbcInfo.initPools(JdbcInfo.java,
Compiled Code)
atweblogic.jdbc.common.internal.JdbcInfo.startup(JdbcInfo.java:200)
at
weblogic.jdbc.common.internal.JdbcStartup.main(JdbcStartup.java:11)
at java.lang.reflect.Method.invoke(Native Method)
atweblogic.t3.srvr.StartupThread.runMain(StartupThread.java:219)
at weblogic.t3.srvr.StartupThread.doWork(StartupThread.java,
Compiled Code)
at
weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java:62)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(Connection
EnvFactory.jav
a:182)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Connection
EnvFactory.jav
a:109)
at
weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.j
ava, Compiled
Code)
at
weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java,
Compiled Code)
at
weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:330
atweblogic.jdbc.common.internal.JdbcInfo.initPools(JdbcInfo.java,
Compiled Code)
atweblogic.jdbc.common.internal.JdbcInfo.startup(JdbcInfo.java:200)
at
weblogic.jdbc.common.internal.JdbcStartup.main(JdbcStartup.java:11)
at java.lang.reflect.Method.invoke(Native Method)
atweblogic.t3.srvr.StartupThread.runMain(StartupThread.java:219)
at weblogic.t3.srvr.StartupThread.doWork(StartupThread.java,
Compiled Code)
at
weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java:62)
at
weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(Connection
EnvFactory.jav
a:125)
at
weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.j
ava, Compiled
Code)
at
weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java,
Compiled Code)
at
weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:330
atweblogic.jdbc.common.internal.JdbcInfo.initPools(JdbcInfo.java,
Compiled Code)
atweblogic.jdbc.common.internal.JdbcInfo.startup(JdbcInfo.java:200)
at
weblogic.jdbc.common.internal.JdbcStartup.main(JdbcStartup.java:11)
at java.lang.reflect.Method.invoke(Native Method)
atweblogic.t3.srvr.StartupThread.runMain(StartupThread.java:219)
at weblogic.t3.srvr.StartupThread.doWork(StartupThread.java,
Compiled Code)
at
weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java:62)
Wed Feb 07 09:13:26 GMT+00:00 2001:<I> <JMS> Beginning startup process
Wed Feb 07 09:13:26 GMT+00:00 2001:<I> <JMS> Init JMS Security
Wed Feb 07 09:13:26 GMT+00:00 2001:<I> <JMS> Initializing from
weblogic.properties
Wed Feb 07 09:13:26 GMT+00:00 2001:<I> <JMS> Startup process complete.JMS
is active
Wed Feb 07 09:13:26 GMT+00:00 2001:<I> <JMS> Bound SessionPoolManager
as
weblogic.jms.SessionPoolMana
ger
Wed Feb 07 09:13:26 GMT+00:00 2001:<I> <JMS> BoundConnectionConsumerManager
as weblogic.jms.Connecti
onConsumerManager
Wed Feb 07 09:13:26 GMT+00:00 2001:<I> <WebLogicServer> Invokingmain-style
startup RMI Registry webl
ogic.rmi.internal.RegistryImpl
Wed Feb 07 09:13:26 GMT+00:00 2001:<I> <RMI> Registry started
Wed Feb 07 09:13:27 GMT+00:00 2001:<I> <EJB> 0 EJB jar files loaded,
containing 0 EJBs
Wed Feb 07 09:13:27 GMT+00:00 2001:<I> <EJB> 0 deployed, 0 failed todeploy.
Wed Feb 07 09:13:27 GMT+00:00 2001:<I> <ZAC> ZAC ACLs initialized
Wed Feb 07 09:13:27 GMT+00:00 2001:<I> <ZAC> ZAC packages stored inlocal
directory exports
Wed Feb 07 09:13:27 GMT+00:00 2001:<I> <ListenThread> Listening on
port:
7001
Wed Feb 07 09:13:27 GMT+00:00 2001:<I> <SSLListenThread> Listening onport:
7002
<NT Performance Pack> NATIVE: created IoCompletionPort successfully.
IoPort=0x00000230
Wed Feb 07 09:13:28 GMT+00:00 2001:<I> <WebLogicServer> WebLogic
Server
started--
PS: Folks: BEA WebLogic is expanding rapidly, with both entry andadvanced
positions
for people who want to work with Java, XML, SOAP and E-Commerceinfrastructure products.
We have jobs at Nashua NH, Liberty Corner NJ, San Francisco and San JoseCA.
Send resumes to [email protected]
PS: Folks: BEA WebLogic is expanding rapidly, with both entry and advanced positions
for people who want to work with Java, XML, SOAP and E-Commerce infrastructure products.
We have jobs at Nashua NH, Liberty Corner NJ, San Francisco and San Jose CA.
Send resumes to [email protected] -
Memory Leak when TOMCAT connects to Oracle 10g RAC using JDBC Thin driver.
We had experienced Memory leak when a Oracle 10g (10.2.0.3) RAC node was evicted. TOMCAT app server is connecting to the Oracle 10g RAC database instances using JDBC 10.2.0.3 thin driver.
Anyone had similar experience?
Any ideas? Any bugs reported/fixed?
Thanks,
RajIf you're doing XA, we absolutely do not support
driver-level load-balancing OR failover. Use neither.
For non-XA, you can use driver-level failover. For
non-XA, you could set load-balancing, but it won't
help because we get connections from the driver,
and keep them indefinitely, so the driver never gets
the chance to affect which connections the pool
uses after that. -
Thin driver 9 with Ora8i db ?
Hi,
I was wondering. Is it legal to use the Oracle Thin-driver 9.0.1 when connecting to a Oracle8i 8.1.7.2.0 Enterprise Edition server DB ?
The reason for asking is, that we are experiencing problems with some bugs in the Oracle Thin-driver 8.7.1, which might be fixed in the 9.0.1 driver. We are not updating to use some new features.
Regards, Per OlesenHi,
According to the documenttation, yes driver 9 is compatible with Ora8i db (see the link below).
Actually, I have been trying to do the same thing as you except that I need OCI not JDBC driver. I still however have not figured out how to install a driver... do we have to install Oracle Client? do we have to just copy the DLLs and JARs only???
Thanks and good luck!
http://otn.oracle.com/docs/products/oracle9i/doc_library/901_doc/java.901/a90211/getsta.htm#1008206 -
Problems with jdbc thin driver (Euro Symbol)
Hello,
at the moment it is impossible for me to write or read euro characters to a database using a jdbc thin driver.
I am using
ojdbc14.jar (version 10.2.0.3.0) and orai18n.jar (also) together with JDK 1.4.2.
Charset of the database is WE8MSWIN1252. It does not work on ORACLE 9.2.0.1, 9.2.0.6 and 10.2.0.2.0 (others I have not tried). But the problem seams to be in thin client.
Inserting Eurosymbols using a PreparedStatement works quite well. Using a normal Statement does not work.
Also the values getting from a ResultSet are incorrect.
After several test I downloaded a patch 4659157 for ojdbc14.jar and 5470375 for orai18n.jar. After installing the patch the euro characters were returned, but:
In several selects of numeric fields (not all, seams to be random) my resultset returned the Euro character instead of 0 and so on.
Driver for 9.2 works quite well, but does not support 10g Release 2 (and contains also some funny bugs)
Following solutions are not suitable for us:
Changing the character set of the database (come on, this cannot be serious. I cannot change the character set of more than 100 databases)
Using the newest driver (ORACLE 11). We are still using JAVA 1.4.2 and cannot migrate our application at the moment.
Using an oci client. Not possible, no ORACLE client on clients...
Has anyone an idea how to deal with this?
Does anyone know when ORACLE is going to release a new jdbc driver for JAVA 1.4.2 (maybe 10.2.0.4.) ??
Regards,
ChristianJust installed PATCH 4659157 and 5470375 from metalink. The Euro problem seams to be corrected.
BUT:
Another problem occurred. Sometimes numeric values are returned wrong (0 from a numeric field comes as euro, 1 comes as Á (2 and 3 too).
This error seams to be random to me.
Our application is selecting a rowid from a table and after that fills several textfields in a frame by selecting the content in a way like this:
select [column1] from [table] where rowid=[rowid]
select [column2] from [table] where rowid=[rowid]
if I select the numeric column with select nr. 77 I get a wrong value. If I select it at nr. 10 I get the correct value.
The selects are done by a normal Statement object creating a ResultSet. The Value from the ResultSet is fetched by getObject() method.
I also tried to write a test program executing only the selects of the application, but it gives me correct results.
Also when selecting all the fields in one select I get a correct result.
Using a different charset than WE8MSWIN1252 seams to give correct results. Using the OCI driver returns correct results.
Using ojdbc14.jar and orai18n.jar Release 10.2.0.3. unpatched produces the same error (and does not return Euro symbols)
Using ojdbc14.jar and orai18n.jar Release 10.2.0.2. returns correct results (but wrong Euro)
Has anyone had the same problem yet?
Regards,
Christian -
Hi, I am currently working on iPlanet 6.0 SP4 with oracle 8.1.6. I am planning to make my application language independent. while testing I figured out that if i use oci8 driver or oracle, it doesn't support other language characters while the thin driver supports fine. Can anybody help me regarding this? Is this a bug, or some possible configuration issue? Has somebody came across this problem before? How do i go about it ?
We faced same issue. Looks like the native driver does not support the automatic data encoding/decoding from/to database. You can always workaround this by reading everything as byte stream and then by letting java handle the encoding/decoding. But we decided to use type4 thin driver which does this automatically if you set the content type. Anyway we are told that later versions of IAS may not support native drivers, so if you are serious about multi language shift to type4 thin drivers now itself.
Maybe you are looking for
-
Satellite A135-S2246: Question about warranty from Toshiba USA
Hello Everyone! Have question, My Father buyed me a toshiba Satellite A135-S2246 in USA he has got Laptop without any cd /windows vista home bassic/ and documents /like a warranty/. Anyone can tell me if the Toshiba in USA give cd and warranty with t
-
How do you specify class file for appletviewer?
List, I have searched over dozens of posts for "NoClassDefFoundError" and "wrong name" as well as "appletviewer" and others. I have read many posts about people who have the same problem I do, but I still can't seem to find a remedy: My machine is ru
-
Qosmio G50-10J: How to replace the Optical Disc Drive (ODD)?
Hello there, the optical drive of my Qosmio G 50 is not working properly anymore, it reads only some movie-DVDs, but sadly no videogameDVDs at all, so I cannot instal any games. The warranty has already expired too. So I wanted to ask if it is possib
-
No Photomerge available in PSE 13
I open several images in PSE, then try to do photomerge. File | Automation Tools only shows one entry: Fit Image. File | New only shows "Blank File" and "Image from Clipboard" (greyed out). Am I missing something? Anyone else have a similar problem?
-
PSE9 will not load a blank page! HELP PLEASE?
Hi I keep trying to create a new file. I need a blank page and it just does nothing when I hit file, new, select page size and then hit ok. The screen blinks and nothing. There is no loaded page. What do I do to correct it? TIA for any help Michelle