Java 10g OCI connection

I am not able to connect to oracle 10g from java(j2sdk1.4.2_04) using OCI. I have the basic instantclient10_1 downloaded and I have made my classpath and path point to the instantclient directory. Os used is win2k.
I think I am able to load the driver because
Class.forName ("oracle.jdbc.driver.OracleDriver"); given inside try doesn't get caught.
when I use
DriverManager.getConnection("jdbc:oracle:oci8:scott/tiger@"); I get runtime error(no compile error)
Exception in thread "main" java.lang.UnsatisfiedLinkError: t2cGetCharSet
at oracle.jdbc.driver.T2CConnection.t2cGetCharSet(Native Method)
at oracle.jdbc.driver.T2CConnection.getCharSetIds(T2CConnection.java:290
7) and some more lines.
The same error I get if I use oci instead of oci8 and if I add orcl after @.
I then tried
java -classpath %cp% -Djava.library.path=C:\instantclient MyJavaApp
which gives
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
But I am able to connect using thin client. Please help in setting my oci connection right.

I just realized after the last post, that not everyone is amiliar with the latin character set.
I'm refering to ISO 8859-1 Or WE8ISO8859P1
The default on my pc is
[AMERICAN_AMERICA.WE8MSWIN1252] which may or may not be what I need.
But some how for me the following always does the trick nicely.
AMERICAN_AMERICA.WE8ISO8859P1
The reall killer in going from UTF to another format or vice versa. The 10g OCI client puts to much faith in Microsoft and defaults you to whatever is in windows.
-- Checking your NLS:
From windows, to check the NLS_LANG, you need to open a command prompt and to run sqlplus in command line mode.
First, check if it's set in the environment:
SQL> host echo %NLS_LANG%
If this reports just %NLS_LANG% back, the variable is not set in the
environment. If it's set it reports something like
ENGLISH_UNITED KINGDOM.WE8PC850
If NLS_LANG is not set in the enviroment, you should check the value
in the registry:
SQL> @.[%NLS_LANG%].
If you get something like:
unable to open file ".[ENGLISH_UNITED KINGDOM.WE8ISO8859P1]."
the "file name" between the '[]' is the value of the registry parameter.
(This is NOT an error but just a "trick" to get the NLS_LANG value)
If you get this as result:
unable to open file ".[%NLS_LANG%]."
then the parameter NLS_LANG is also not set in the registry.
Note: the @.[%NLS_LANG%]. "trick" reports the NLS_LANG known by the sqlplus
executable, it will not read the registry itself.
But then you are not sure if the variable is set in the enviroment or in the
registry. That's the reason of checking with the host commando first.

Similar Messages

  • Using Java + WEBDAV to connect to Oracle 10g Repository

    Hi,
    I could not connect to Oracle 10g Repository with WEBDAV protocol. I thought that Oracle should provide a client library to help Java application to connect to Repo but I could not find it out.
    Could you please show me how to connect to Repo with WEBDAV protocol?
    It's better if giving me some examples.
    Thanks a lot.

    Hi,
    Did you succeed??
    I am also searching for an example.
    Regards,
    Romano

  • SetString/executeBatch fails in Oracle 10g OCI JDBC driver

    Hi,
    I am using Oracle 10g OCI jdbc driver for batch updates.
    Following is the the code that I am using
    import java.sql.*;
    import oracle.jdbc.*;
    import oracle.jdbc.pool.OracleDataSource;
    public class BatchUpdates
    public static void main(String[] args)
    Connection conn = null;
    Statement stmt = null;
    PreparedStatement pstmt = null;
    ResultSet rset = null;
    int i = 0;
    try
    String url = "jdbc:oracle:oci:@kctutf8";
    try {
    String url1 = System.getProperty("JDBC_URL");
    if (url1 != null)
    url = url1;
    } catch (Exception e) {
    OracleDataSource ods = new OracleDataSource();
    ods.setUser("kctuser");
    ods.setPassword("kana");
    ods.setURL(url);
    conn = ods.getConnection ();
    stmt = conn.createStatement();
    try { stmt.execute(
    "create table mytest_table (col1 number, col2 varchar2(20))");
    } catch (Exception e1) {}
    pstmt = conn.prepareStatement("insert into mytest_table values (?, ?)");
    pstmt.setInt(1, 1);
    pstmt.setString(2, "row 1");
    pstmt.addBatch();
    pstmt.setInt(1, 2);
    pstmt.setString(2, "row 2");
    pstmt.addBatch();
    pstmt.setInt(1, 3);
    pstmt.setString(2, "row 3");
    pstmt.addBatch();
    pstmt.setInt(1, 4);
    pstmt.setString(2, "row 4");
    pstmt.addBatch();
    pstmt.setInt(1, 5);
    pstmt.setString(2, "row 5");
    pstmt.addBatch();
    pstmt.executeBatch();
    rset = stmt.executeQuery("select * from mytest_table");
    while (rset.next())
    System.out.println(rset.getInt(1) + ", " + rset.getString(2));
    catch (Exception e)
    e.printStackTrace();
    finally
    if (stmt != null)
    try { stmt.execute("drop table mytest_table"); } catch (Exception e) {}
    try { stmt.close(); } catch (Exception e) {}
    if (pstmt != null)
    try { pstmt.close(); } catch (Exception e) {}
    if (conn != null)
    try { conn.close(); } catch (Exception e) {}
    When I run this class I get the following output
    1, row 1
    2, row 3
    3, row 5
    4, null
    5,
    But It should have been
    1, row 1
    2, row 2
    3, row 3
    4, row 4
    5, row 5
    The same class runs fine if I use Thin driver.
    Can anyone please help me solve this issue.
    Note: This happens only in case we use setString with Varchar2 in the DB. This works fine if I have two number columns
    Thanks,
    Raja.S

    Please post this question to the Java forum. It is located under "Technologies".

  • 32 bit compiled Java Program not connecting to 64 bit Oracle 11g

    Hi,
    I am using one java program to connect to Oracle 11g (64 bit version) using Oracle10g 32 bit client libraries using OCI calls. Below is the program. If I compile it using 64 bit Oracle 10g libraries ($ORACLE_HOME/lib and $ORACLE_HOME/rdbms/lib) , it perfectly connects to Oracle11g but when i compile it using $ORACLE_HOME/lib32 and $ORACLE_HOME/rdbms/lib32, it hangs and keeps trying and takes 100% cpu usage. it does nothing. Please suggest what is going wrong in the environment.
    ============================
    import java.sql.*;
    class dbAccess {
    public static void main (String args []) throws Exception
    Class.forName ("oracle.jdbc.OracleDriver");
    Connection conn = DriverManager.getConnection
    ("jdbc:oracle:oci8:@lvfd", "fde", "fde");
    // or oci7 @TNSNames_Entry, userid, password
    try {
    Statement stmt = conn.createStatement();
    try {
    ResultSet rset = stmt.executeQuery("select * from tab");
    try {
    while (rset.next())
    System.out.println (rset.getString(1)); // Print col 1
    } finally {
    try { rset.close(); } catch (Exception ignore) {}
    } finally {
    try { stmt.close(); } catch (Exception ignore) {}
    } finally {
    try { conn.close(); } catch (Exception ignore) {}
    ================================================

    >
    I am compiling like when LD_LIBRARY_PATH set to $ORACLE_HOME/lib32:$ORACLE_HOME/rdbms/lib32.
    javac -cp .:$ORACLE_HOME/jdbc/lib/ojdbc14.jar dbAccess.java
    as my program resides in current directory. I run it like :
    java -cp .:$ORACLE_HOME/jdbc/lib/ojdbc14.jar dbAccess
    Output: it hangs forever.
    I am compiling like when LD_LIBRARY_PATH set to $ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib
    javac -cp .:$ORACLE_HOME/jdbc/lib/ojdbc14.jar dbAccess.java
    as my program resides in current directory. I run it like :
    java -cp .:$ORACLE_HOME/jdbc/lib/ojdbc14.jar dbAccess
    Output: It gets connected and list all the tables as output.
    >
    The ojdbc14.jar file is for use with Java 1.4 VMs.
    Are you still using Java 1.4? If so, why?
    For Oracle 11g you should be using the latest JDBC jar file (ojdbc6.jar) and the latest version of Java 1.6.
    You are not only using an old JDBC driver and Java version but are also trying to mix 32 bit and 64 bit operations.
    I suggest you start using recommended practices and update your Java and JDBC versions and select EITHER 32 bit or 64 bit operations.
    See the Official JDBC FAQ for the details on the support available for various combinations of Oracle DB, Java and the JDBC drivers:
    http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-faq-090281.html

  • Urgent help required "java.lang.Exception: Connection reset"

    Hi Everyone,
    I am getting error message when I access cluster database from grid console.
    Error      java.lang.Exception: Connection reset
    I am unable to create jobs or do other admin stuff on the database, I have searched alot , restarted the repository database, restarted the emgc components, even the agents but of no use. The agent status showing OK as under.
    Oracle Enterprise Manager 10g Release 3 Grid Control 10.2.0.3.0.
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    Agent Version : 10.2.0.3.0
    OMS Version : 10.2.0.3.0
    Protocol Version : 10.2.0.2.0
    Agent Home : /app/oracle/agent/agent10g/rac2.tawaf
    Agent binaries : /app/oracle/agent/agent10g
    Agent Process ID : 19646
    Parent Process ID : 19629
    Agent URL : https://rac2.tawaf:3872/emd/main
    Repository URL : https://tawafapp.tawaf:1159/em/upload
    Started at : 2009-04-02 11:26:10
    Started by user : oracle
    Last Reload : 2009-04-02 11:26:10
    Last successful upload : 2009-04-02 12:27:42
    Total Megabytes of XML files uploaded so far : 3.48
    Number of XML files pending upload : 0
    Size of XML files pending upload(MB) : 0.00
    Available disk space on upload filesystem : 86.22%
    Last successful heartbeat to OMS : 2009-04-02 12:30:20
    Agent is Running and Ready
    The error reported in emoms.log is as under.
    2009-04-02 12:37:25,073 [MetricCollector:RACHOMETAB_THREAD600:60] ERROR rt.RacMetricCollectorTarget _getAllData.184 - oracle.sysman.emSDK.emd.comm.CommException: Connection reset
    oracle.sysman.emSDK.emd.comm.CommException: Connection reset
    at oracle.sysman.emSDK.emd.comm.EMDClient.getResponseForRequest(EMDClient.java:1543)
    at oracle.sysman.emSDK.emd.comm.EMDClient.getMetrics(EMDClient.java:915)
    at oracle.sysman.emo.rac.perform.metric.rt.RacHomeTab._getAllData(RacHomeTab.java:180)
    at oracle.sysman.emo.rac.perform.metric.rt.RacHomeTab.getData(RacHomeTab.java:91)
    at oracle.sysman.emo.perf.metric.eng.MetricCached.collectCachedData(MetricCached.java:404)
    at oracle.sysman.emo.perf.metric.eng.MetricCollectorThread._collectCachedData(MetricCollectorThread.java:596)
    at oracle.sysman.emo.perf.metric.eng.MetricCollectorThread.run(MetricCollectorThread.java:320)
    at java.lang.Thread.run(Thread.java:534)
    can anyone help me as its very urgent for me to clear this error.
    thanks

    this error is also reported against the cluster database.
         Thread: SeverityLoad https://rac2.tawaf:3872/emd/main java.sql.SQLException: ORA-20613: Severity for unknown target. (target guid = 1938FC9C72DDAC01E0C0F268FFC5F6AD) ORA-06512: at "SYSMAN.EM_VIOLATION_CHECKS", line 174 ORA-04088: error during execution of trigger 'SYSMAN.EM_VIOLATION_CHECKS' Error occured at line : 43, File name:Severity

  • Oracle 8.1.5 and JDBC OCI connection problem

    We are running Oracle 8.1.5 on Solaris 7 machine, and our java application running on JDK 1.2 connects to Oracle via JDBC thin driver because we couldn't make jdbc oci driver work.
    When we try to connect via oci with the driver originally shipped with 8.1.5, we get:
    Exception in thread "main" java.lang.UnsatisfiedLinkError: make_c_state
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:213)
    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(Compiled Code)
    at java.sql.DriverManager.getConnection(DriverManager.java:137)
    at JDBCTest.main(Compiled Code)
    After we downloaded 8.1.6sdk driver from technet and install it, we get:
    Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocijdbc8 in java.library.path
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Error.<init>(Error.java:50)
    at java.lang.LinkageError.<init>(LinkageError.java:43)
    at java.lang.UnsatisfiedLinkError.<init>(UnsatisfiedLinkError.java:42)
    at java.lang.ClassLoader.loadLibrary(Compiled Code)
    at java.lang.Runtime.loadLibrary0(Runtime.java:471)
    at java.lang.System.loadLibrary(System.java:745)
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:209)
    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(Compiled Code)
    at java.sql.DriverManager.getConnection(DriverManager.java:137)
    at JDBCTest.main(Compiled Code)
    I searched this forum for answer and only relevent answer from oracle was: consult README file! Readme file mentions that lobocijdbc.so file is shared library file for oci connection. That't all. So what?
    I added the directory where libocijdbc8.so resides to LD_LIBRARY_PATH, and System.getProperty("java.library.path") shows content of LD_LIBRARY_PATH correctly.
    null

    Please this is not simple as simple as checking the classpath and LD_LIBRARY_PATH.
    I tried the sample program and the result is the same. As pointed out first by Won, putting the libocijdbc8.so from SDK8.1.6 in the LD_LIBRARY_PATH has no effect at all. It gives the unsatisfied linker error. The sample program fails. However the sample program works fine with the libocijdbc8.so from sdk8.1.5. The library gets loaded. But at the time of creating the connection it gives make_c_state error.
    Here is my CLASSPATH, PATH and LD_LIBARY_PATH variables
    ORACLE_HOME=/opt/oracle/product/8.1.5
    LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/opt/oracle/product/8.1.5/lib
    PATH=/usr/openwin/bin:/usr/sbin:/usr/local/bin:/usr/ccs/bin:/usr/ucb:/opt/oracle/product/8.1.5/lib
    Hope you are able to provide better answer then check your environment variables.
    THE libocijdbc8.so FROM SDK8.1.6 DOES NOT GET LOADED AT ALL.
    Waiting for the reply.
    Please Help.
    Regards,
    Vipul Modi.
    Novell Inc.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Won, Taewoong([email protected]):
    We are running Oracle 8.1.5 on Solaris 7 machine, and our java application running on JDK 1.2 connects to Oracle via JDBC thin driver because we couldn't make jdbc oci driver work.
    When we try to connect via oci with the driver originally shipped with 8.1.5, we get:
    Exception in thread "main" java.lang.UnsatisfiedLinkError: make_c_state
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:213)
    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(Compiled Code)
    at java.sql.DriverManager.getConnection(DriverManager.java:137)
    at JDBCTest.main(Compiled Code)
    After we downloaded 8.1.6sdk driver from technet and install it, we get:
    Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocijdbc8 in java.library.path
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Error.<init>(Error.java:50)
    at java.lang.LinkageError.<init>(LinkageError.java:43)
    at java.lang.UnsatisfiedLinkError.<init>(UnsatisfiedLinkError.java:42)
    at java.lang.ClassLoader.loadLibrary(Compiled Code)
    at java.lang.Runtime.loadLibrary0(Runtime.java:471)
    at java.lang.System.loadLibrary(System.java:745)
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:209)
    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(Compiled Code)
    at java.sql.DriverManager.getConnection(DriverManager.java:137)
    at JDBCTest.main(Compiled Code)
    I searched this forum for answer and only relevent answer from oracle was: consult README file! Readme file mentions that lobocijdbc.so file is shared library file for oci connection. That't all. So what?
    I added the directory where libocijdbc8.so resides to LD_LIBRARY_PATH, and System.getProperty("java.library.path") shows content of LD_LIBRARY_PATH correctly.
    <HR></BLOCKQUOTE>
    null

  • Load balancing 10g forms - Connection from new browser window not supported

    Load balancing 10g forms - Connection from new browser window not supported
    We're experimenting with using webcache to load balance between multiple applications servers running OC4J forms processes.
    We currently have one machine with infrastructure and mid-tier (BI & Forms) installed, which is being used for the webcache functionality, this is load balancing between 2 other servers each of which just have the mid-tier (BI & Forms) installation
    In order to get this to work, I had to follow the instructions in the Forms deployment guide : http://download-uk.oracle.com/docs/cd/B14099_11/web.1012/b14032/tuning.htm#sthref707
    The main gist of this is that you need to set the following in the orion-web.xml file in order that the sessions are maintained:
    <session-tracking
    cookies="enabled">
    </session-tracking>
    This all works fine in most cases.
    The problem I am having is if I do one of the following on the client machine:
    1) From IE6 / IE7 run a copy of a forms application. Then open a new window using the "New Window" menu option, and attempt to run another forms application.
    2) In IE7 or Firefox 2.0 open a copy of the forms application, and then open a new tab and try and open another forms application.
    If I try either of these I get a FRM-92101 error, and the following is displayed in the java console:
    oracle.forms.net.ConnectionException: Connection from new browser window not supported
    From trawling various forums (including metalink and otn) it looks like a problem with the way coockies are handled.
    Unfortunately the usual workaround is to ensure that the session tracking option in the orion-web.xml file is disabled.
    The problem is that I need this enabled in order for the load balancing to work.
    Does anyone know of any other workarounds or patches that might help resolve this?
    We're using Application server 10.1.2.0.2 running on windows 2003 servers.

    You were right. Carriage returns were stopping it from working (the document is laid out over separate lines, so I assumed it would make no difference...).
    I've now managed to get it so the forms at least run, but they are all being run in the forms OC4J instance on the same machine as the OHS.
    Has anyone actually managed to get this to work, or am I doing something wrong?
    I did wonder if using an OHS instance on a machine with no forms installation would make any difference?
    I had raised a support call via metalink on this subject, but they eventually came to the conclusion that the only way to do this is with a hardware load balancer (Despite several documents suggesting that webcache is the way to go (including the forms deployment manual)).
    I'm at the point now of giving up and writing some custom scripts to do the job instead...

  • Oci connection-entry point kpufhndl0 could not be located

    hi
    i use jdev 10.1.3.3 & 10g.
    a thin connection to db works fine, but i have to use an oci connection which i fail to set.
    i've edited jdev.conf file as described here: http://www.oracle.com/webapps/online-help/jdeveloper/10.1.2/state/content/navId.4/navSetId._/vtTopicFile.db%7Ccdb_rconnectionreqsoci~html/
    and added AddNativeCodePath pointing to oracle installation directory.
    but an attempt to test a connection returns an error saying "The procedure entry point kpufhndl0 could not be located in the dynamic link library OCI.dll".
    i've found a post saying that this issue has been solved by placing jdbc:oracle:oci:@host:port:sid in jdbc custom url field of db settings. not i my case, i'm getting the same error.
    any thoughts?
    thanks a lot!
    Message was edited by:
    cyclid

    sorry, no solution yet. bumpin' it...

  • Oracle 10g OCI Client Certification

    we are in process of 10g RAC Certification and Customer Aksed
    Would it be correct to assume that the Oracle RAC 10g Certification will include the 10g OCI client certification? I believe this will be necessary for an application to connect to the cluster.
    Can any one help to answer this?

    as far as I know, clients connect to rac db the same way they did against a single instance

  • 10g OCI client certification

    we are in process of 10g RAC Certification and Customer Aksed
    Would it be correct to assume that the Oracle RAC 10g Certification will include the 10g OCI client certification? I believe this will be necessary for an application to connect to the cluster.
    Can any one help to answer this? and how we can do 10g OCI client certification?

    I'm not sure what you're asking...
    Assuming you need to have the 10g client installed on the middle tier (if your middle tier is a J2EE application server, those folks will probably want to use Oracle's Type 4 (thin) JDBC drivers, which don't require the 10g client), yes, you can install just the 10g client. Depending on the operating system, there may be a separate client-only download or you may have to download the entire database and choose to do a client-only install.
    Justin

  • OCI Connection Pool

    Hi,
    How do I use an OCI Connection Pool as a data source in OC4J?
    A sample data-sources.xml would be helpful.
    A snippet of servlet code would be great!
    Thanks

    Hi,
    OracleOCIConnectionPool extends OracleDataSource and I have
    created and attached a example test case OCIConnPoolJNDI.java of
    how to register this OCI pool object via JNDI InitialContext and
    look it up.
    The test assumes a default directory /tmp/JNDI/jndi_dir to exist
    that can be changed. You also need dbjava/lib/jndi.zip (or
    jndi.jar) and jis/lib/aurora_client.jar in your CLASSPATH
    * Different Config test for connection pooling
    import java.sql.*;
    import java.io.*;
    import java.util.*;
    import java.math.BigDecimal;
    import oracle.jdbc.*;
    import oracle.jdbc.pool.*;
    import oracle.jdbc.oci.*;
    import oracle.sql.*;
    import javax.naming.*;
    import javax.naming.spi.*;
    import javax.sql.*;
    public class OCIConnPoolJNDI
    public static void main(String args[]) throws SQLException,
    NamingException
    String url = "jdbc:oracle:oci8:@" ;
    Context ctx = null;
    Hashtable env = new Hashtable (5);
    env.put (Context.INITIAL_CONTEXT_FACTORY,
    "com.sun.jndi.fscontext.RefFSContextFactory");
    String fileDir = "file:/tmp/JNDI";
    System.out.println("fileDir = " + fileDir);
    env.put (Context.PROVIDER_URL, fileDir);
    ctx = new InitialContext(env);
    Properties poolconfig = new Properties( ) ;
    poolconfig.put(OracleOCIConnectionPool.CONNPOOL_MIN_LIMIT,
    "1") ;
    poolconfig.put(OracleOCIConnectionPool.CONNPOOL_MAX_LIMIT,
    "10") ;
    poolconfig.put(OracleOCIConnectionPool.CONNPOOL_INCREMENT,
    "2") ;
    poolconfig.put(OracleOCIConnectionPool.CONNPOOL_NOWAIT,
    "true") ;
    poolconfig.put(OracleOCIConnectionPool.TRANSACTIONS_DISTRIBUTED,
    "true") ;
    OracleOCIConnectionPool ods = new OracleOCIConnectionPool
    ("scott", "tiger", url, poolconfig);
    System.out.println("-- Doing the Bind --");
    ctx.bind ("jndi_dir/tkpjcpdb1",ods);
    ods.close();
    System.out.println("-- Doing the Lookup --");
    OracleOCIConnectionPool cpool = (OracleOCIConnectionPool)
    ctx.lookup
    ("jndi_dir/tkpjcpdb1");
    test1(cpool);
    // Close the connection
    cpool.close();
    cpool = null;
    public static void test1(OracleOCIConnectionPool cpool)
    throws SQLException
    System.out.println ("User = " + cpool.getUser());
    System.out.println ("URL = " + cpool.getURL());
    System.out.println ("Default Min poolsize Limit = " +
    cpool.getMinLimit());
    System.out.println ("Default Max poolsize Limit = " +
    cpool.getMaxLimit());
    System.out.println ("Default Connection Increment = " +
    cpool.getConnectionIncrement());
    java.util.Properties p = new java.util.Properties( );
    p.put (OracleOCIConnectionPool.CONNPOOL_MIN_LIMIT, "1") ;
    p.put (OracleOCIConnectionPool.CONNPOOL_MAX_LIMIT, "1") ;
    p.put (OracleOCIConnectionPool.CONNPOOL_INCREMENT, "0") ;
    cpool.setPoolConfig(p);
    System.out.println ("Set Min poolsize Limit = " +
    cpool.getMinLimit());
    System.out.println ("Set Max poolsize Limit = " +
    cpool.getMaxLimit());
    System.out.println ("Set Connection Increment = " +
    cpool.getConnectionIncrement());
    //get a connection from the pool
    OracleOCIConnection conn1 = (OracleOCIConnection)
    cpool.getConnection();
    OracleOCIConnection conn2 = (OracleOCIConnection)
    cpool.getConnection();
    OracleOCIConnection conn3 = (OracleOCIConnection)
    cpool.getConnection();
    System.out.println("ActiveSize of pool = " +
    cpool.getActiveSize());
    System.out.println("PoolSize = " + cpool.getPoolSize());
    testConn1(conn1);
    testConn1(conn2);
    testConn1(conn3);
    conn1.close();
    conn2.close();
    conn3.close();
    public static void testConn1 (OracleOCIConnection conn)
    throws SQLException
    System.out.println ("Got Pooled connection ...");
    // try operations via the pool
    Statement stmt = conn.createStatement ();
    ResultSet rset = stmt.executeQuery ("select USER from
    dual");
    while (rset.next ())
    System.out.println (" User = " + rset.getString (1));
    rset.close();
    stmt.close();

  • Java.io.IOException: Connection failure with 407

    Getting this error from client site that uses a proxy server(IAS). Seems the forms jar files cannot be accessed and cached. We are using OAS 10g R2. App works fine everywhere else.
    Oracle JInitiator: Version 1.3.1.25
    Using JRE version 1.3.1.25-internal Java HotSpot(TM) Client VM
    User home directory = C:\Documents and Settings\dreynolds
    User has overriden browser's proxy settings.
    Proxy Configuration: Manual Configuration
    Proxy: 192.168.1.7:8080
    Proxy Overrides:
    JAR cache enabled
    Location: C:\Documents and Settings\dreynolds\Oracle Jar Cache
    Maximum size: 50 MB
    Compression level: 0
    c: clear console window
    f: finalize objects on finalization queue
    g: garbage collect
    h: display this help message
    l: dump classloader list
    m: print memory usage
    q: hide console
    s: dump system properties
    t: dump thread list
    x: clear classloader cache
    0-5: set trace level to <n>
    java.io.IOException: Connection failure with 407
         at sun.plugin.protocol.jdk12.http.HttpURLConnection.getInputStream(Unknown Source)
         at oracle.jre.protocol.jar.HttpUtils.followRedirects(Unknown Source)
         at oracle.jre.protocol.jar.JarCache$CachedJarLoader.download(Unknown Source)
         at oracle.jre.protocol.jar.JarCache$CachedJarLoader.load(Unknown Source)
         at oracle.jre.protocol.jar.JarCache.get(Unknown Source)
         at oracle.jre.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
         at oracle.jre.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
         at sun.misc.URLClassPath$JarLoader.getJarFile(Unknown Source)
         at sun.misc.URLClassPath$JarLoader.<init>(Unknown Source)
         at sun.misc.URLClassPath$2.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.misc.URLClassPath.getLoader(Unknown Source)
         at sun.misc.URLClassPath.getLoader(Unknown Source)
         at sun.misc.URLClassPath.getResource(Unknown Source)
         at java.net.URLClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(Unknown Source)
         at sun.applet.AppletClassLoader.findClass(Unknown Source)
         at sun.plugin.security.PluginClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.applet.AppletClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.applet.AppletClassLoader.loadCode(Unknown Source)
         at sun.applet.AppletPanel.createApplet(Unknown Source)
         at sun.plugin.AppletViewer.createApplet(Unknown Source)
         at sun.applet.AppletPanel.runLoader(Unknown Source)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    WARNING: Unable to cache http://www.<ourdomainname>.com/forms/java/frmall_jinit.jar

    any ideas, suggestions?

  • Accessing MS Sql Server with Java classes - problem connecting to socket

    I found an example at this location which uses java classes to connected to MS Sql Server.
    http://search400.techtarget.com/tip/1,289483,sid3_gci1065992,00.html
    --bummer - it is a login location - so I will include the article
    Anyway, the example is using Websphere, but I am still on Jbuilder (will get wsad soon). So I planted the classes from the example in
    C:\Borland\JBuilder\jkd1.4\jre\lib\ext\...the classes
    Then I copied the code from the example to my jpx project and got an error that it could not connect to the socket. The only thing I changed in the code was the connection string:
    --original string from example:
    Connection connection = DriverManager.getConnection("jdbc:microsoft:sqlserver://1433", "");
    I was getting an error with the 2 argument version of DriverManager - and the second argument here was empty (properties argument). Here was my connection string:
    Connection connection = DriverManager.getConnection("jdbc:microsoft:sqlserver://Myserver:1433;User=sa;Password=");
    I am only using the 1 argument version of DriverManager. Note that the password=" is blank because my RnD workstation is standalone - no one accesses the sql server except me - so no password. I also left out the last semicolon I noticed. Any suggestions appreciated how I could fix this.
    Thanks
    source of article:
    http://search400.techtarget.com/tip/1,289483,sid3_gci1065992,00.html
    iSeries 400 Tips:
    TIPS & NEWSLETTERS TOPICS SUBMIT A TIP HALL OF FAME
    Search for: in All Tips All search400 Full TargetSearch with Google
    PROGRAMMER
    Sample code: Accessing MS SQL Server database from the iSeries
    Eitan Rosenberg
    09 Mar 2005
    Rating: --- (out of 5)
    Nowadays with the help of Java the iSeries can be integrated with other databases quite easy. This tip shows you how. The code included here uses the free Microsoft driver that can be downloaded from here. (SQL Server 2000 Driver for JDBC Service Pack 3)
    If your SQL server does not include the Northwind Sample Database you can find it here.
    http://www.microsoft.com/downloads/details.aspx?familyid=07287b11-0502-461a-b138-2aa54bfdc03a&displaylang=en
    The download contains the following files:
    msbase.jar
    mssqlserver.jar
    msutil.jar
    Those files needs to be copied to the iSeries directories (/home/r_eitan/ExternalJARs).
    Here's the directory structure (on the iSeries) for this sample:
    /home/r_eitan/ExternalJARs - Microsoft files (msbase.jar,mssqlserver.jar,msutil.jar)
    /home/r_eitan/JdbcTest02 - My code (Main.java,Main.class)
    The Java code
    import java.sql.*;
    import java.io.*;
    class Main {
    * Connect to Microsoft SQL server and download file northWind.products as tab
    * seperated file. (products.txt)
    public static void main(String args[]) {
    try {
    PrintStream outPut = new PrintStream(new BufferedOutputStream(new FileOutputStream("products.txt")));
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    //Connection connection = DriverManager.getConnection("jdbc:microsoft:sqlserver://1433", "");
    Connection connection = DriverManager.getConnection("jdbc:microsoft:sqlserver://Myserver:1433;User=sa;Password=");
    System.out.println("Connection Done");
    connection.setCatalog("northWind");
    String sqlCmdString = "select * from products";
    Statement statement = connection.createStatement();
    ResultSet resultSet = statement.executeQuery(sqlCmdString);
    ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
    int columnCount = resultSetMetaData.getColumnCount();
    // Iterate throught the rows in resultSet and
    // output the columns for each row.
    while (resultSet.next()) {
    for (int index = 1; index <=columnCount; ++index)
    String value;
    switch(resultSetMetaData.getColumnType(index))
    case 2 :
    case 3 :
    value = resultSet.getString(index);
    break;
    default :
    value = """ + resultSet.getString(index) + """;
    break;
    outPut.print(value + (index < columnCount ? "t" : ""));
    outPut.println();
    outPut.close();
    resultSet.close();
    connection.close();
    System.out.println("Done");
    catch (SQLException exception)
    exception.printStackTrace();
    catch (Exception exception)
    exception.printStackTrace();
    --------------------------------------------------------------------------------------------------

    My guess is that the server's host name isn't right. It necessarily (or even usually) the "windows name" of the computer. Try with the numeric IP address instead (type "ipconfig" to see it).
    First aid check list for "connection refused":
    - Check host name in connect string.
    - Check port number in connect string.
    - Try numeric IP address of server host in connect string, in case name server is hosed.
    - Are there any firewalls between client and server blocking the port.
    - Check that the db server is running.
    - Check that the db server is listening to the port. On the server, try: "telnet localhost the-port-number". Or "netstat -an", there should be a listening entry for the port.
    - Try "telnet serverhost the-port-number" from the client, to see if firewalls are blocking it.
    - If "telnet" fails: try it with the numeric ip address.
    - If "telnet" fails: does it fail immediately or after an obvious timeout? How long is the timeout?
    - Does the server respond to "ping serverhost" or "telnet serverhost" or "ssh serverhost"?

  • Oracle 10g OCI based application talking to an Oracle 9i database

    Hi all,
    Got a question. I have an OCI C++ application that is written using the Oracle 10g OCI includes, etc ... This of course is running on a 10g client. The client OS is actually a Windows x64 system since 10g is the only native OCI client right now for 64 bit Windows systems. So this all works fine. Now, I am communicating with an Oracle 9i database server. Is there anything wrong or invalid about this configuration ? I didn't think that there was but I was asked to confirm this, that is having an Oracle 10g client communicating with an Oracle 9i database. Our application is making very straight forward OCI calls, and we are not using any of the newer OCI calls that were introduced in 10g, just the ones that are available in 9i OCI.
    Thanks in advance,
    Nick

    Thanks for the reply.
    Actually I thought that the OCCI forum was for Object oriented OCI, so while I'm using C++, I'm not using the object oriented side of OCI, just using the normal OCI calls. Guess I should have been a little clearer in my original post.
    But my main question really concerned the version of the client and the version of the database which you answered.
    Thanks,
    Nick

  • Application crashes with timesten database  over  OCI connection

    Application crashes with timesten database over OCI connection
    #0 0x405e09f8 in kpudsany () from /home/oracle/TimesTen/ratingtt1121/ttoracle_home/instantclient_11_1/libclntsh.so.10.1
    #1 0x405728d0 in OCIDescribeAny () from /home/oracle/TimesTen/ratingtt1121/ttoracle_home/instantclient_11_1/libclntsh.so.10.1
    #2 0x43748a5a in GDBociDriver::StoredProcArgumentList () from /home/omni/library/libgfr_dboci.so
    #3 0x4374e865 in GDBociDriver::StoredProcCallFormat () from /home/omni/library/libgfr_dboci.so
    #4 0x4376ec9a in GDBociDriver::ExecuteStmtBind () from /home/omni/library/libgfr_dboci.so
    #5 0x4376fc69 in GDBociDriver::Execute () from /home/omni/library/libgfr_dboci.so
    #6 0x436ba240 in GDBstatement::Execute () from /home/omni/library/libgfr_dblayer.so
    #7 0x43736106 in GDBociDriver::SetModule () from /home/omni/library/libgfr_dboci.so
    #8 0x4366cb22 in GDBconnectionPool::GetConnection () from /home/omni/library/libgfr_dblayer.so
    #9 0x4367a9db in GDBdriver::LoginConnectionGet () from /home/omni/library/libgfr_dblayer.so
    #10 0x4373dbaa in GDBociDriver::Login () from /home/omni/library/libgfr_dboci.so
    #11 0x4377380f in CreateOCIDriver () from /home/omni/library/libgfr_dboci.so
    #12 0x4367bb2a in GDBdriverLoader::CreateDriver () from /home/omni/library/libgfr_dblayer.so
    #13 0x436d423d in IGDBdriverMgr::GetDriverAndLogin () from /home/omni/library/libgfr_dblayer.so
    #14 0x436d4da1 in IGDBdriverMgr::GetDriver () from /home/omni/library/libgfr_dblayer.so
    #15 0x436a5071 in GDBserverDef::InitialLogin () from /home/omni/library/libgfr_dblayer.so
    #16 0x433247cc in CcapAdbAccess::Init (this=0x9e85a88) at CcapAdbAccess.C:161
    #17 0x43331c44 in CcapMain::Run (this=0x434eeb80, sdpId=2, processName=0x9dae29c "URE61_O2") at CcapMain.C:132
    #18 0x080947d1 in ccap_thread (arg=0x0) at main.C:1588
    #19 0x080e7bd2 in ThreadManager::WrapperRoutine (ipArg=0x9e84fc0) at ThreadManager.C:176
    #20 0x0035f44a in start_thread () from /lib/libpthread.so.0
    Timesten has some limitations and it says:
    Describing objects with OCIDescribeAny() is supported only by name. Describing PL/SQL objects is not supported.
    home/omni/library/libgfr_dblayer.so
    Cloud you please tell us whit might be the reason for this

    Are you able to provide exact details of the OCIDescribeAny call being made by the application (including parameter values)?
    Chris

Maybe you are looking for