NCHAR, NVARCHAR2 with JDBC THICK drivers

Hi,
I am using weblogic Thick jdbc drivers. We have a requirement of storing data
in multiple languages. So we have added two columns in the oracle 9i table with
data type NCHAR and NVARCHAR2.
I tried the code using Oracle jdbc thin drivers. Its working fine.
But when I tried with weblogic thick drivers its not able to read the data...
Its reading null values.
Any suggestions/links/guidelines would of great help.
Thanks & Regards,
Purvesh Vora

Purvesh Vora wrote:
Hi,
I am using weblogic Thick jdbc drivers. We have a requirement of storing data
in multiple languages. So we have added two columns in the oracle 9i table with
data type NCHAR and NVARCHAR2.
I tried the code using Oracle jdbc thin drivers. Its working fine.
But when I tried with weblogic thick drivers its not able to read the data...
Its reading null values.
Any suggestions/links/guidelines would of great help.
Thanks & Regards,
Purvesh VoraHi. Our type-2 driver (weblogic.jdbc.oci.Driver) uses Oracle's OCI, which
may need some OCI-specific charset properties and/or environment variables
set for what you need. Please check our docs. I wouldn't expect nulls though,
maybe corrupted data, but not nulls... What happens if you try Oracle's own
thick driver? (all you would need to do is to change their URL).
Joe

Similar Messages

  • How to handle ORA-28001 error with JDBC thin driver ?

    Dear reader,
    As you all know, ORACLE returns error ORA-28001 upon a connection attempt when the user's password has expired.
    Handling the error in OCI is quite simple, thanks to the function OCIPasswordChange(). However, I have not been able to find a JAVA equivalent in the Oracle JDBC library.
    I have found a field called oracle.jdbc.driver.OracleDriver.set_new_password_string, and a field oracle.jdbc.OracleConnection.CONNECTION_PROPERTY_SET_NEW_PASSWORD, but I have really no idea on how to use them (if appropriate) so as to allow the user to change his/her password on the fly.
    I greatly appreciate having any advice from anyone who happened to be faced with that problem.
    Best regards.
    Georges BREFORT

    Hi,
    according to Note [124970.1 Example: How to Change an Expired Password in JDBC?|https://metalink2.oracle.com/metalink/plsql/f?p=130:14:2181952130729466734::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,124970.1,1,1,1,helvetica] it's possible with JDBC Thick (OCI) driver only.

  • Differences between Oracle JDBC Thin and Thick Drivers

    If any body is looking for this information...
    ============================================================
    I have a question concerning the Oracle JDBC thin vs. thick drivers
    and how they might affect operations from an application perspective.
    We're in a Solais 8/Oracle 8.1.7.2 environment. We have several
    applications on several servers connecting to the Oracle database.
    For redundancy, we're looking into setting up TAF (transparent
    application failover). Currently, some of our apps use the Oracle
    <B>JDBC thin</B> drivers to talk to the database, with a connection
    string that like this:
    <B> jdbc:oracle:thin:@host:port:ORACLE_SID </B>
    In a disaster recovery mode, where we would switch the database
    from one server to another, the host name in the above string
    would become invalid. That means we have to shut down our application
    servers and restart them with an updated string.
    Using the Oracle <B>OCI (thick)</B> driver though, allows us to connect
    to a Net8 service instead of a specific server:
    <B> jdbc:oracle:oci8:@NET8_SERVICE_NAME </B>
    Coupled with the FAILOVER=ON option configured in Net8, it is
    then possible to direct a connection from the first server to
    the failover database on another server. This is exactly what
    we would like to do.
    My question is, from an application perspective, how is the Oracle
    thick driver different from the thin driver? If everything
    else is "equal" (i.e. the thick driver is compatible with the
    app servers) would there be something within the the thick/OCI
    driver that could limit functionality vs. the thin driver?
    My understand, which obviously is sketchy, is that the thick
    driver is a superset of the thin driver. If this is the case,
    and for example if all database connections were handled through
    a configuration file with the above OCI connection string, then
    theoretically the thick driver should work.
    ============================================================
    <B>
    In the case with the Oracle, they provide a thin driver that is a 100% Java driver for client-side use without the need of an Oracle installation (maybe that's why we need to input server name and port number of the database server). This is platform indipendent, and has good performance and some features.
    The OCI driver on the other hand is not java, require Oracle installation, platform dependent, performance is faster, and has a complete list of all the features.
    </B>
    ========================================================
    I hope this is what you expect.
    JDBC OCI client-side driver: This is a JDBC Type 2 driver that uses Java native methods to call entrypoints in an underlying C library. That C library, called OCI (Oracle Call Interface), interacts with an Oracle database. <B>The JDBC OCI driver requires an Oracle (7.3.4 or above) client installation (including SQL*Net v2.3 or above) and all other dependent files.</B> The use of native methods makes the JDBC OCI driver platform specific. Oracle supports Solaris, Windows, and many other platforms. This means that the Oracle JDBC OCI driver is not appropriate for Java applets, because it depends on a C library to be preinstalled.
    JDBC Thin client-side driver: This is a JDBC Type 4 driver that uses Java to connect directly to Oracle. It emulates Oracle's SQL*Net Net8 and TTC adapters using its own TCP/IP based Java socket implementation. <B>The JDBC Thin driver does not require Oracle client software to be installed, but does require the server to be configured with a TCP/IP listener. Because it is written entirely in Java, this driver is platform-independent.</B> The JDBC Thin driver can be downloaded into any browser as part of a Java application. (Note that if running in a client browser, that browser must allow the applet to open a Java socket connection back to the server.
    JDBC Thin server-side driver: This is another JDBC Type 4 driver that uses Java to connect directly to Oracle. This driver is used internally by the JServer within the Oracle server. This driver offers the same functionality as the client-side JDBC Thin driver (above), but runs inside an Oracle database and is used to access remote databases. Because it is written entirely in Java, this driver is platform-independent. There is no difference in your code between using the Thin driver from a client application or from inside a server.
    ======================================================
    How does one connect with the JDBC Thin Driver?
    The the JDBC thin driver provides the only way to access Oracle from the Web (applets). It is smaller and faster than the OCI drivers, and doesn't require a pre-installed version of the JDBC drivers.
    import java.sql.*;
    class dbAccess {
    public static void main (String args []) throws SQLException
    DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
    Connection conn = DriverManager.getConnection
    ("jdbc:oracle:thin:@qit-uq-cbiw:1526:orcl", "scott", "tiger");
    // @machineName:port:SID, userid, password
    Statement stmt = conn.createStatement();
    ResultSet rset = stmt.executeQuery("select BANNER from SYS.V_$VERSION");
    while (rset.next())
    System.out.println (rset.getString(1)); // Print col 1
    stmt.close();
    How does one connect with the JDBC OCI Driver?
    One must have Net8 (SQL*Net) installed and working before attempting to use one of the OCI drivers.
    import java.sql.*;
    class dbAccess {
    public static void main (String args []) throws SQLException
    try {
    Class.forName ("oracle.jdbc.driver.OracleDriver");
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    Connection conn = DriverManager.getConnection
    ("jdbc:oracle:oci8:@qit-uq-cbiw_orcl", "scott", "tiger");
    // or oci7 @TNSNames_Entry, userid, password
    Statement stmt = conn.createStatement();
    ResultSet rset = stmt.executeQuery("select BANNER from SYS.V_$VERSION");
    while (rset.next())
    System.out.println (rset.getString(1)); // Print col 1
    stmt.close();
    =================================================================

    Wow, not sure what your question was, but there sure was a lot of information there...
    There really is only one case where failover occurs, and it would not normally be in a disaster recovery situation, where you define disaster recovery as the obliteration of your current server farm, network and concievably the operational support staff. This would require a rebuild of your server, network etc and isn't something done with software.
    Fail over is normally used for high availablity that would take over in case of hardware server failure, or when your support staff wants to do maintenance on the primary server.
    Using the thin and thick driver should have ZERO affect on a failover. Transparent failover will make the secondary server the same IP as the primary, therefore the hostname will still point to the appropriate server. If you are doing this wrong, then you will have to point all your applications to a new IP address. This should be something that you tell your management is UNACCEPTABLE in a fail-over situation, since it is almost sure to fail to fail-over.
    You point out that you are providing the TNSNAME, rather than the HOSTNAME when using the thick driver. That's true within your application, but that name is resolved to either a HOSTNAME, or IP ADDRESS before it is sent to the appropriate Oracle server/instance. It is resolved using either a NAME server (same as DNS server but for Oracle), or by looking at a TNSNAMES file. Since the TNSNAMES files profilerate like rabbits within an organization you don't want a fail over that will make you find and switch all the entries, so you must come up with a fail over that does not require it.
    So, the application should not be concerned with either the hostname, or the IP address changing during fail over. That makes use of the thin or thick client acceptable for fail over.
    Don't know if this will help, but this shows the communication points.
    THIN DRIVER
    client --> dns --> server/port --> SID
    THICK DRIVER
    client --> names server --> dns --> server/port --> SID
    client --> tnsnames     --> dns --> server/port --> SID

  • How do I get JDBC Logging with IBM Informix drivers?

    I am trying to get JDBC logging working with IBM Informix drivers.
    I am using the _g jar files; I have specified TRACE, TRACEFILE,
    PROTOCOLTRACE, and PROTOCOLTRACEFILE as properties;
    I have enabled JDBC logging and specified a JDBC log file in the
    WLS console. Regardless of all these machinations, no logging is
    produced.
    What else need I do? Thanks for any advice!
    : jay

    So... a couple weeks later and I've managed to find
    out a bit more. My simple program works and produces
    output, so the debug drivers are doing their thing.
    So, in my simple program, I was using the standard
    informix driver. But, with WebLogic, my connection
    pool is using the XA datasource which is configured
    slightly differently than the driver; in particular,
    the URL is left blank as described in
    http://e-docs.bea.com/wls/docs70/jdbc/thirdparty.html.
    I've actually created another connection pool which
    uses the standard driver, and I do get loggging when
    I use that pool, so the problem seems to be with the
    XA Datasource.
    I'm trying to revise my test program to use the
    datasource, and we'll go from there. Any thoughts
    you have would be appreciated, of course.
    : jay
    Joe Weinstein wrote:
    >
    >
    Jay Schmidgall wrote:
    "Joe Weinstein" <[email protected]> wrote in message
    news:[email protected]..
    Jay Schmidgall wrote:
    I am using the _g jar files; I have specified TRACE, TRACEFILE,
    PROTOCOLTRACE, and PROTOCOLTRACEFILE as properties;Odd. Would you please show me a small java program that
    sets the properties for the connection so you get your
    logging output, and then I'll know what I need for weblogic to do it:I am setting the properties in the weblogic console via the properties
    field
    on the general configuration tab for the connection pool. That's where I
    set all the other properties, so that's where I thought I should set
    these.
    I've tried it with those properties set individually and as part of
    the URL
    property.Oh, yes that's where you should be doing it, but a standalone program
    will prove exactly what properties are needed by the driver per se.
    Ie: the first step is to prove the jdbc driver alone does what we
    want, and then we can know how to get weblogic to get the driver to do
    the same for it.
    Joe
    I'll try to cruft up a small program that does this manually, though.
    : jay

  • How to set a sql query time out with jdbc:oracle:thin

    should i change the JDBC driver with jdbc:oralce:XA:thin or other driver with XA?

    SQL query timeout may be set with setQueryTimeout.
    http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Statement.html#setQueryTimeout(int)
    A query timeout bug is fixed in Oracle JDBC Drivers release
    10.1.0.2.0 (10g)
    FIXED BUG-2249191
    In the Server Internal Driver, setting the query timeout does not
    +(and likely will never) work. The query execution will not be+
    canceled when the timeout expires, even if the query runs forever.
    Further, after the query returns, the execution of your code
    may pause for the length of the timeout.
    http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc_readme101020.html

  • Why can't i use "INNER JOIN" in a query for SQL Server with JDBC??????

    Hi,
    I'm trying to execute some SQL queries and I just don't understand what's wrong.
    I�m using Tomcat and SQL Server in order to do this, but when I�m try to execute a query with a INNER JOIN statements Tomcat raise a SQL exception... at the very first time I thought there was a problem with database connection but I realize that a simple query to a table works pretty well. then I found out some problems with JDBC:ODBC.... so I install JDBC for SQL Server 2000 and test with the same simple query and works..... so, I come to a conclusion.... INNER JOIN or JOIN statements can't be used in JDBC..... please... somebody tell I�m wrong and give me a hand...
    I'm using TOMCAT 4 and JDK 1.4 SQL Server 2000
    Error occurs when executeQuery() is called.... not prepareStatement().... ??????
    Driver DriverRecResult = (Driver)Class.forName(driver).newInstance();
    Connection ConnRecResult = DriverManager.getConnection(DSN,user,password);
    PreparedStatement StatementRecResult = ConnRecResult.prepareStatement(query);
    ResultSet RecResult = StatementRecResult.executeQuery(); <---- Exception raise here
    So much tahnks in advance,

    That's exactly what I think, driver it's raising the exception, but I don't know why.... i test the same query with INNER JOIN directly from SQL Query Analyser and it's works perfectly, my problem ain't SQL, but JSP and JDBC 'cause i'm a newbie about these issues.
    Common sense tell me possible problems lie in SQLServer drivers 'cause i run the same pages on JRUN through jdbc:odbc and do works well, but by now i just depend on Tomcat.....
    I've installed SQL Server drivers for JDBC but i just find it doesn't work fully... could be the version of JDK i've installed? what version do i need?
    ( I'm running Tomcat 4 with JDK 1.4 & SQL Server 2000 W2K )
    thanks for reply.

  • Problem with jdbc:odbc returning incorrect number of rows.

    Hello,
    Am sure i have done something stupid, but i have an issue with jdbc:odbc ....
    It is a simple sceanrio that i have coded umpteen times before ...
    I have the following ....
    1. Connection to DB2 on an IBM i5 (I apologise for not using native drivers from jt400.jar, but i had an ODBC code example and was in a rush - no excuse i know)
    2. Statement object created from connection above
    3. A string with my SQL in it
    4. A result set for the results.
    These are created as follows:
    Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver");
    con = DriverManager.getConnection(ODBCSource, userID, password);
    if (con == null) {
    // error handling not relevant here
    } else {
    Statement s = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
    String SQL = "select * from table";
    ResultSet rs = s.executeQuery(SQL);
    i then try to loop ....
    while (rs.next() )
    // stuff
    however, i only ever get one result .... if i stick in the check for isLast, the first loop hits this check, i get my little status message, and the loop ends.
    while (rs.next() )
    if (rs.isLast() )
    System.out.println("I am on last record");
    BUT if i run the SQL
    "select count(*) from table" ... i get a count of 148 !!
    I tried setting the FetchSize through setFetchSize(), but made no difference.
    This is running on a JBoss server 4.2.1GA, JDK is "jdk1.6.0_02" .... i have a suspicion that this may be a JBoss specfic issue, as this exact code runs just fine on the Domino platform that it was originally on, if this is the case, i apologise for wasting everyones time .... but would still appreciate any pointers you can give me.
    Cheers

    Hello,
    Thanks for the reply, I am not sure i follow what you are saying.
    I only mentioned JBoss as it is the application server that we have deployed to and because the orignal code ran fine on a Domino server, I will take your advice and try to run it through in debug rather than running actually on the application server.
    Am i incorrect in my assumption that if "select count(*) from table" gives a count of 148, i should expect 148 records in a result set created from "select * from table" ? This is all rather new to me so i apologise if this is incorrect, I'd love to know why this is incorrect so i dont make similar mistakes in future.
    Also, If i run this same code on the previous platform, i get 148 iterations of the code contained within
    while (rs.next() ) { ... }
    When the war file is deployed to JBoss, the same SQL statement gives a result set that only iterates once for
    while (rs.next() ) { ... }
    The previous platform as I say was domino, but it was running as a lotus notes java agent (despite not using any notes documents etc) as it happened to be where the web pages that call this process were located. It is possible that some of the main code has changed as I had cut and paste the code into a servlet using MyEclipse, but i have double checked the bit that does this SQL request and it is identical
    To complete the picture, the new servelt is then called from the action tag on the submit form on a JSP, when it ends the servlet redirects via the requestdispacher to success or failure jsp pages depending on the outcome of the processing.
    Thank you again for your help.

  • JDBC Thin Drivers

    Hi,
    I have downloaded Oracle thin drivers for jdk1.2.2 from oracle's site. But when i tried to hit the Database with it iam getting "Network Adapter error". I ahd given the url correctly. I checked up the application by running on the system where oracle is installed and it is running perfectly but when i access the database by installing thin drivers on some other machine and testing it, iam not able to connect to database. Iam getting Network adapter error and i also checked up with the network people and the assured me that there are no network problems as i am able to oracle server by pinging and thru telnet also. Any help will be greatly appreciated and Thanx in Advance.

    Marcelo,
    You can download JDBC 2.0 - friendly drivers from Openlink
    Software (http://www.openlinksw.com). Our latest 3.2 versions
    that support JDK 1.2 can be found at
    ftp://ftp.openlinksw.com/pre-3.2/index.html
    ... if you scroll to the NT / 95 section at the bottom of the
    page, you'll find the "opljdbc2.jar" in the list.
    Best regards,
    Stephen
    Marcelo Malagutti (guest) wrote:
    : Hello.
    : I3d like to know when will be released the JDBC thin drivers
    for
    : Oracle 8.0.4, compatible with the JDK 1.2. I need it to use
    the
    : new Java BLOB features of the JDK 1.2. Thanks.
    null

  • Oracle JDBC thick (OCI) driver

    Hi!
    Can someone point me where I can download oracle JDBC thick (OCI) driver. Thick JDBC is not installed by default in 10g. In the OTN download site I can find JDBC thin drivers to download.
    Thanks
    Rad.

    Rad,
    Allow me to elaborate on Mark's answer. Let's say you download the "ojdbc14.jar" file from the OTN Web site. Both the "thick" and "thin" drivers are in that one file. You indicate which driver you wish to use in your java code -- via the database connection URL, for example:
    jdbc:oracle:thin:@//myhost:1521/orclThe above indicates you wish to use the "thin" driver, whereas
    jdbc:oracle:oci:@myhost:1521:orclindicates you wish to use the "thick" driver.
    [Notice the difference?]
    You can find more details from the JDBC FAQ.
    Good Luck,
    Avi.

  • JDBC-Thin-Drivers on different Platforms

    Hello,
    Is there a difference between the JDBC thin drivers for Win NT and IBM AIX when using the same driver version (8.1.7) ?
    thanks in advance
    Joachim Helf

    the jdbc thin driver spec requires platform indepenedence.
    so you should not have a problem.
    if you do have a problem, then oracle support wants to hear about it.
    in that case, log a tar with your local oracle support center.

  • JDBC thin drivers for 8.0.4 and JDK 1.2

    Hello.
    I3d like to know when will be released the JDBC thin drivers for
    Oracle 8.0.4, compatible with the JDK 1.2. I need it to use the
    new Java BLOB features of the JDK 1.2. Thanks.
    null

    Marcelo,
    You can download JDBC 2.0 - friendly drivers from Openlink
    Software (http://www.openlinksw.com). Our latest 3.2 versions
    that support JDK 1.2 can be found at
    ftp://ftp.openlinksw.com/pre-3.2/index.html
    ... if you scroll to the NT / 95 section at the bottom of the
    page, you'll find the "opljdbc2.jar" in the list.
    Best regards,
    Stephen
    Marcelo Malagutti (guest) wrote:
    : Hello.
    : I3d like to know when will be released the JDBC thin drivers
    for
    : Oracle 8.0.4, compatible with the JDK 1.2. I need it to use
    the
    : new Java BLOB features of the JDK 1.2. Thanks.
    null

  • P-R-O-B-L-E-M with JDBC thin driver

    Thank you gmagana!
    I did not manage to make this code connect to Oracle at all:
    import java.sql.*;
    public class jdbcThin {
    public static void connect() {
              String     url = "jdbc:oracle:thin:uName/passW@myDatabase:1521:orcl";
              try {
                        Class.forName ("oracle.jdbc.driver.OracleDriver");
                   Connection conn = DriverManager.getConnection( url );
                   System.out.println ("The Oracle thin driver loaded!");
              catch (ClassNotFoundException e) {
                   System.out.println ("Did not load driver.");
                   e.printStackTrace ();
              catch (SQLException e) {
                   System.out.println ("Did not load driver.");
                   e.printStackTrace ();
    public static void main( String args[] ) {
              connect();
    // Do "statement" stuff after I successfully connect to Oracle.
    My setup:
    1. jdbcThin.class in located in: ~/runMe/jdbcThin.class
    2. Unextracted classes12.zip in: ~/runMe/classes12.zip
    3. Java Runtime: ~/runMe/bin or
    ~/runMe/jre/bin
    Command line:
    %~/runMe> java jdbcThin
    Message:
    Did not load driver.
    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    at jdbcThin.connect(Compiled Code)
    at jdbcThin.main(Compiled Code)
    %~/runMe>
    Tried running it with classpath re-direction:
    %~/runMe> java -classpath /runMe classes12.zip.jdbcThin
    Message:
    zip.jdbcThin
    Can't find class classes12.zip.jdbcThin
    %~/runMe>
    I am not permitted to change anything in .cshrc or .profile where
    I could use/> setenv classpath path1:path2: ~etc.
    Oh, JAVA gods(!) I am stuck. <quite pissed> :(
    ...and what am I doing wrongly with JDBC thin?!
    H E L P !!!!!!!!!!!!!!!!!!!

    Thanks Shirish! (Symmetrical WRT sound!)
    Here is my adaptation of that snippet which compiles, except for one error:
    Class OracleDriver not found. How did you handled your classes12.zip and
    your class path? Exactly what should happen at the command line?!
    That is really my BIGGEST issue with these vendor drivers outside JDK.
    I am aware that many styles work, but given the EXACTLY correct environment
    setting. This is my main issue and why I specified my exact directories.
    1. If Oracle is in: ~ root/Oracle
    2. Thin driver in: ~ root/drivers/classes12.zip
    3. My connection code in: ~root/sources/connDB.class
    What EXACTLY should happen to compile and run:
    import java.sql.*;
    public class connDB {
    public static void connect() {
              Connection     conn;
              Statement     stmt;
              ResultSet          rtset;
              String          SQL;
              try {
    DriverManager.registerDriver(new OracleDriver());
    conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:" + instance, username, password);
    stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
    rtset = stmt.executeQuery(SQL);
    catch( SQLException sqle ) {
                   System.out.println ("Did not load driver.");
                   sqle.printStackTrace ();
    public static void main( String args[] ) {
              connect();
    I am sitting @~root/sources>
    So far I have no problem running any non-driver associated classes from there.
    But how do I make my code find this OracleDriver?! And should classes12.zip
    be extracted? I was told it should remain intact. Point is where should it be
    or what command line "command" gets this connDB.class + OracleDriver to run?

  • Connecting Oracle 8i with JDBC

    Hi Friends,
    I am facing a problem while doing a connection to my DB which is ORACLE 8i with JDBC communication channels thorugh xi.
    I am getting an error "Error during database connection to the database URL 'jdbc:oracle:thin:@hostname:ORCL' using the JDBC driver 'oracle.jdbc.driver.OracleDriver': 'com.sap.aii.adapter.jdbc.sql.DriverManagerException: Cannot establish connection to URL 'jdbc:oracle:thin:@hostname:ORCL': SAPClassNotFoundException: oracle.jdbc.driver.OracleDriver"
    In one of the SAP notes:867176 its mentioned .....
    3. Which JDBC driver version is certified to connect to which database version?
                  From the Oracle side:
                  The Oracle 10g JDBC drivers are certified to work with currently-supported versions of the database.
                  JDBC 8i/9i Thin drivers are certified to work with supported (previous) versions of the database.
                  Existing and supported JDBC drivers are certified to work with Oracle Database 10g.
                  From the SAP side:
                  SAP only supports homogeneus setups. The oracle driver major version must match the database major version, and the driver version must not be smaller than the database version.
                  SAP does not support Oracle 8i drivers.
    Is it not possible to connect to my DB?  Is SAP supports the connection to 8i oracle database? any idea,,,
    Regards,
    Sunil.

    Hi,
    Following is the connection string that we are currently using for connecting to Oracle 8i.
    This setting has been working for us. give it a try.
    connection string : jdbc:oracle:oci8:userid/password@server
    Note that this connection string is only if you use the Oracle OCI driver. The OCI driver requires a shared library or DLL on the server.
    The thin driver for Oracle is more commonly used as it doesn't require any additional libraries. The connection string is as already listed above:
    jdbc.oracle.thin:@server:port:SID
    There is no need to put the user and password into the connection string in the adapter config, putting it into the user and password fields works just fine.
    Regards,
    Suryanarayana

  • Getting inline schema documentation with JDBC

    Some databases (Oracle, IBM DB2) provides possibility to add additional documentation to database schema (using SQL commands COMMENT ON, LABEL ON). This is information is preserved together with other meta-information about tables in the database.
    Is it possible to access this documentation with JDBC?
    Best,
    Maciej
    Edited by: dzieciou on Feb 13, 2009 3:16 AM

    Frank
    - is the JDBC jar file required on the "Server" side (RHEL 5.3) or "Client" side (Windows XP) (sorry if I'm using the wrong terminology, I'm still getting started with OWB)?
    Yes. At the client JDBC driver is required to import the metadata (tables\views\etc) and at the server to execute the code generated by code templates.
    - the JDBC driver requires a .dll (Win) / .so (Linux); is this possible with OWB? Or does OWB accept only "pure" JDBC drivers?
    Not sure about this one - the .dll and .so are OS files , i think the JDBC driver should figure it out if they are configured correctly on the OS
    - is there any possibility to debug the JDBC access (some kind of log file, perhaps)?
    There are two ways you can debug
    1) Logging at the OWB level (client side) -
    The following blog to demonstrates how to do it
    http://blogs.oracle.com/warehousebuilder/2009/11/how_to_turn_on_logging_for_owb_112_design_client.html
    2) JDBC Driver logging -
    Few JDBC drivers provides logging , you can specify the log file as part of your JDBC URL. Check the documentation of your JDBC driver (PI JDBC driver) whether it provides you that feature.
    Regards,
    Suraj.

  • Cannot assign an empty string to a parameter with JDBC type VARCHAR

    Hi,
    I am seeing the aforementioned error in the logs. I am guessing its happening whenever I am starting an agent instance in PCo. Can somebody explain whats going on?
    Regards,
    Chanti.
    Heres the complete detail from logs -
    Log Record Details   
    Message: Unable to retreive path for , com.sap.sql.log.OpenSQLException: Failed to set the parameter 1 of the statement >>SELECT ID, PARENTID, FULLPATH, CREATED, CREATEDBY, MODIFIED, MODIFIEDBY, REMOTEPATH, CHECKEDOUTBY FROM XMII_PATHS WHERE FULLPATH =  ?  <<: Cannot assign an empty string to a parameter with JDBC type >>VARCHAR<<.
    Date: 2010-03-12
    Time: 11:32:37:435
    Category: com.sap.xmii.system.FileManager
    Location: com.sap.xmii.system.FileManager
    Application: sap.com/xappsxmiiear

    Sounds like a UI browsing bug (when no path is selected from a catalog tree folder browser) - I would suggest logging a support ticket so that it can be addressed.

Maybe you are looking for