CMP to insert CLOB Data in Oracle

I have a CMP which tries to insert CLOB data into Oracle Database using XMLType column. We have tried multiple options
1. Inserting String data into XMLType column - if the value is more than 4000 chars, it gives an error
2. Inserting CLOB Data into XMLType column - Using the OracleCLob option in the deployment descriptor results in a SQLExcepotion Inconsistent datatype expected number found CLOB.
Can anybody provide a solution to this problem?

I have a CMP which tries to insert CLOB data into Oracle Database using XMLType column. We have tried multiple options
1. Inserting String data into XMLType column - if the value is more than 4000 chars, it gives an error
2. Inserting CLOB Data into XMLType column - Using the OracleCLob option in the deployment descriptor results in a SQLExcepotion Inconsistent datatype expected number found CLOB.
Can anybody provide a solution to this problem?

Similar Messages

  • Steps to insert xml data into oracle

    Please give me next steps to insert xml data into oracle 9i:
    i've been doing this steps :
    1. create folder in oracle port:8080
    2. copy xsd into folder
    3. register schema
    4. Give me next step...
    5.
    6.
    Thanks

    this is my complete xmlschema
    <?xml version = "1.0" encoding = "UTF-8"?>
    <xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
         <xs:element name = "A3A8Vers" type = "xs:string"/>
         <xs:element name = "F1F5Vers" type = "xs:string">
         </xs:element>
         <xs:element name = "sequence" type = "xs:string">
         </xs:element>
         <xs:element name = "amf" type = "xs:string">
         </xs:element>
         <xs:element name = "trnsKeyNumber" type = "xs:string">
         </xs:element>
         <xs:element name = "mac" type = "xs:string">
         </xs:element>
         <xs:element name = "encryptionKey" type = "xs:string">
         </xs:element>
         <xs:element name = "signature" type = "xs:string">
         </xs:element>
         <xs:element name = "signer">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element ref = "entityNumber"/>
                        <xs:element ref = "keyNumber"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name = "entityNumber" type = "xs:string">
         </xs:element>
         <xs:element name = "keyNumber" type = "xs:string">
         </xs:element>
         <xs:element name = "pblKey">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element ref = "entityNumber"/>
                        <xs:element ref = "entityRole"/>
                        <xs:element ref = "keyNumber"/>
                        <xs:element ref = "publicKeyVal"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name = "ntrTime" type = "xs:string">
         </xs:element>
         <xs:element name = "deActionTime" type = "xs:string">
         </xs:element>
         <xs:element name = "actionTime" type = "xs:string">
         </xs:element>
         <xs:element name = "entityRole">
              <xs:complexType>
                   <xs:attribute name = "role" default = "INVALID">
                        <xs:simpleType>
                             <xs:restriction base = "xs:NMTOKEN">
                                  <xs:enumeration value = "TKD"/>
                                  <xs:enumeration value = "SKD"/>
                                  <xs:enumeration value = "INVALID"/>
                             </xs:restriction>
                        </xs:simpleType>
                   </xs:attribute>
              </xs:complexType>
         </xs:element>
         <xs:element name = "publicKeyVal">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element ref = "exponent"/>
                        <xs:element ref = "mod"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name = "exponent" type = "xs:string">
         </xs:element>
         <xs:element name = "mod" type = "xs:string">
         </xs:element>
         <xs:element name = "encriptionTransKey" type = "xs:string">
         </xs:element>
         <xs:element name = "keyType" type = "xs:string">
         </xs:element>
    </xs:schema>.
    I use command to create table :
    create table elements of xmltype
    xmlschema "http://192.168.1.1:8080/test.xsd"
    element "publicKey"
    . But why the result,table as object type. so i cant use command "desc <table_name>;"

  • Error inserting CLOB data into xmltype table on Solaris 8 Oracle 9.2.0.1.0

    Hi all,
    I have a table t of type xmltype.
    I have a function getData which parses an XML file and returns the CLOB data.
    I have a statement as
    "insert into t values(xmltype(getData('abc.xml')));"
    I get the following error
    ERROR at line 1:
    ORA-00600: internal error code, arguments: [17177], [0x0], [], [], [], [], [],
    ORA-31011: XML parsing failed
    ORA-06512: at "SYS.XMLTYPE", line 0
    ORA-06512: at line 1
    ORA-06512: at "ADAPT.AP_CREATE_INSP_LOAD", line 57
    ORA-06512: at line 1
    At line 57 I have the above mentioned "insert into..." statement.
    Can anybody tell me what can be the problem.
    Interestingly enough, the same things work on same Oracle version on Windows 2k, Windows 2k3, another Solaris 8 machine.
    Please help asap as I am in fire fighting mode.
    Thanks & Regards,
    Aniruddha Deshpande

    Hi Aniruddha
    I think you need to post to a db forum rather than XMLP.
    Tim

  • Exporting CLOB data w/Oracle 8i

    Is there a way to export CLOB data from a table to an external
    file in a directory of our choice??? Our application
    specification is asking us to build this capability but I am
    unable to find any way to do this. Any assistance would be
    useful. Thanks a million!!
    null

    OCI really seems like the right way to do this. You know you have to use something like C to interact with the port. And the only Oracle stuff you are doing is an insert. You could even write the insert in a stored proc and call it from OCI. Below is an example of that. You should really give OCI a shot at this. I'm certain you can learn enough of it for this project.
    http://download-east.oracle.com/docs/cd/B10501_01/appdev.920/a96584/oci05bnd.htm#433702
    Tom Best

  • Help needed regarding insertion of data into oracle

    Hi,
    I am student currently trying to do a project to up a semantic database using oracle. Have set up the semantic technologies for oracle 11gr2 and used the jena adapter to load an owl into oracle.
    But i am not sure how do i insert sample data that could reference the owl.
    Tried searching but unable to find any simple tutorial and have also looked through the developer's guide and also jenaadaptor guide.
    Is there any tutorials available that could help? thank you

    Hi,
    Please go to the OTN site for more information:
    http://www.oracle.com/technology/tech/semantic_technologies/index.html
    There you can find some training info (try the NCI Oracle By Example, it's a good tutorial):
    http://www.oracle.com/technology/tech/semantic_technologies/htdocs/semtech_training.html
    Regards,
    Vladimir

  • Insert Excel data into Oracle

    I am having the following code in Button-Press-Event for inserting the data from the selected Excel sheet. My problem is only the last row of the Excel file is store in Oracle Table. Others are not at all coming. Anybody having idea on this....?
    DECLARE
         M_APPID PLS_INTEGER;
         M_CONVID PLS_INTEGER;
         M_BUFFER VARCHAR2(240);
         M_CNT NUMBER;
         M_ROW NUMBER;
         M_COL NUMBER;
         M_ROWID NUMBER := 0;
         M_ERROR CHAR;
         M_EXCEL_FILE VARCHAR2(2000);
         M_EXIT_FLAG CHAR(1);
    BEGIN
         SET_ITEM_PROPERTY('M_PROCESSING_INFO',VISUAL_ATTRIBUTE,'BP_LOOK');
    :M_PROCESSING_INFO := 'Validating file, please wait...';
         SYNCHRONIZE;
    SET_ITEM_PROPERTY('M_BTN_PREVIEW',ENABLED,PROPERTY_FALSE);
         L_VALIDATE_FILE_EXISTENCE;
         GO_BLOCK('OW_EXCEL_UPLOAD');
         CLEAR_BLOCK(NO_VALIDATE);
         GO_BLOCK('OT_EXCEL_ERROR_LOG');
         CLEAR_BLOCK;
    SET_BLOCK_PROPERTY('OW_EXCEL_UPLOAD',UPDATE_ALLOWED,PROPERTY_FALSE);
    SET_BLOCK_PROPERTY('OW_EXCEL_UPLOAD',DELETE_ALLOWED,PROPERTY_FALSE);
    SET_BLOCK_PROPERTY('OW_EXCEL_UPLOAD',INSERT_ALLOWED,PROPERTY_TRUE);
         GO_ITEM('OW_EXCEL_UPLOAD.OU_ROW_NO');
         M_APPID := DDE.APP_BEGIN(M_EXCEL_FILE|| ' '||CHR(34)||:P_TXT_FILE_NAME||CHR(34), DDE.APP_MODE_MINIMIZED);
         M_CONVID := DDE.INITIATE('EXCEL', :P_TXT_FILE_NAME);
         FIRST_RECORD;
         M_CNT := 0;
         FOR M_ROW IN :M_START_ROW .. :M_END_ROW LOOP
              M_ROWID := M_ROWID + 1;
              FOR M_COL IN :M_START_COL .. :M_END_COL LOOP
                   INSERT INTO TEMP VALUES (M_ROWID, M_COL);
                   M_BUFFER := '';
                   M_CNT := M_CNT + 1;     
                   :M_PROCESSING_INFO := 'Processing R'||M_ROW||'C'||M_COL;
                   SYNCHRONIZE;
                   DDE.REQUEST(M_CONVID, 'R'||M_ROW||'C'||M_COL, M_BUFFER, DDE.CF_TEXT, 240);
                   M_BUFFER := RTRIM(LTRIM(M_BUFFER));
                   M_BUFFER := SUBSTR(M_BUFFER,0,LENGTH(M_BUFFER)-2);
                   :M_PROCESSING_INFO := 'Processed R'||M_ROW||'C'||M_COL;
                   SYNCHRONIZE;
                   IF M_BUFFER IS NULL AND M_COL = 1 THEN
                        M_EXIT_FLAG := 'Y';
                        EXIT;
                   END IF;
    COPY(M_ROWID,'OW_EXCEL_UPLOAD.OU_ROW_NO');
    BEGIN
    IF M_COL = 1 THEN
         :EXU_CONT_NO := M_BUFFER;
    ELSIF M_COL = 2 THEN
         :EXU_LOT_NO := M_BUFFER;
    ELSIF M_COL = 3 THEN
         :EXU_PART_NO := M_BUFFER;
    ELSIF M_COL = 4 THEN
         :EXU_QTY := TO_NUMBER(M_BUFFER);
    END IF;
    EXCEPTION
    WHEN OTHERS THEN
    L_SAVE_ERROR_LOG(:P_TXT_FILE_NAME,M_ROW,M_BUFFER,L_ERR_DESC(3107));
    GO_BLOCK('OT_EXCEL_ERROR_LOG');
    EXECUTE_QUERY;
    END;
    END LOOP;          
              CREATE_RECORD;
              M_CNT := 0;
              IF M_EXIT_FLAG = 'Y' THEN
                   EXIT;
              END IF;
         END LOOP;
         :M_RECORD_CNT := M_ROWID - 1;
         DDE.TERMINATE(M_CONVID);
         DDE.APP_END(M_APPID);
         FIRST_RECORD;
    COMMIT;
              :M_PROCESSING_INFO := 'Data in the Excel Sheet uploaded into the System.';
              SYNCHRONIZE;     
         GO_BLOCK('OW_EXCEL_UPLOAD');
    EXECUTE_QUERY;
    END;
    Note:
    My temp table is having exact number of rows as in Excel sheet.

    Have you used the debugger and single stepped through the code to see where the problem is?

  • Insert Chinese data in Oracle but cannot be shown when querying

    I use:
    JDK 1.1.8, Oracle 8i, thin driver.
    The OS is HP Unix.
    I successfully insert the Chinese Big5 encoding data into Oracle. But I can't show the Chinese again when I querying.
    Here's my code:
    Class.forName("oracle.jdbc.driver.OracleDriver");
    con = DriverManager.getConnection
    ("jdbc:oracle:thin:@hpdev.wisers.com:1521
    :research", "corp", "corp");
    stmt = con.createStatement();
    String sqlString = new String("insert into filetable values(1,"
    + var1 + "," + var2 + "...)");
    stmt.executeQuery(sqlString);
    Then I show the result by "select * from filetable;". However, the Chinese Big5 encoding data cannot be shown, "+??.." is shown instead. There is no problem when the data is in English.
    I have tried
    byte[] sqlStringBytes = sqlString.getBytes("Big5");
    String newsql = new String(sqlStringBytes,"Big5");
    stmt.executeQuery(newsql);
    but still not successful.
    My NLS_LANG is
    AMERICAN_AMERICA.ZHT16BIG5
    How can I make use of this variable? How can I solve the problem?
    I am very in hurry. The program deadline is coming!! Help please!!
    null

    Your code looks fine ?
    What's your db character set ?
    I successfully insert the Chinese Big5 encoding data into Oracle.How do you know this ? Did you verify with SQL*Plus to see whether the data can be retrieved ?
    What are var1 and var2 ?

  • Insert XML data into oracle table

    I want to insert xml data returned by the VB code into oracle table.
    As a prequisite I have installed the XDK capabilities for Oracle by installing JServer & running
    SQL scripts catxsu.sql,xmlparserv2.jar,load.sql to load the XMLSQL Utility (DBMS_XMLQuery) into the database.
    I have also granted following privileges to the user.
    Grant users access to XMLParser and XMLDom packages:
         grant execute on xmldom to public;
         grant execute on xmlparser to public;
         create public synonym xmldom for sys.xmldom;
         create public synonym xmlparser for sys.xmlparser;
    But still i am not able to create procedure which will accept input parameter as an XML document coming from front end which in turn will insert that record into simple oracle table . I am using Oracle 8.1.7
    Thanks in advance

    Would you specify the database version?
    Since DBMS_XMLSave requires DOM, you normally need to divide the huge XML before insertion.

  • HY000 error retrieving CLOB-data from oracle database via ODBC

    Hello,
    I get error HY000 [Oracle][ODBC][ORA] ORA-00932: inconsistent datatype when I want to show a CLOB column in my crystal report. The type of the field in the report is memo - in the database it is CLOB.
    How to retrieve CLOB-data from an Oracle 11GR2 database via ODBC in Crystal Report Version 12.3.0.601?
    Thanks in advance for any help.
    kind regards
    Monika Anna

    Hello,
    Who's ODBC driver are you using?
    Try our DataDirect drivers - https://smpdl.sap-ag.de/~sapidp/012002523100008666562008E/cr_datadirect53_win32.zip
    Thank you
    Don

  • Clob data type oracle to oracle issue

    Hi Guys
    i am unable to load clob data type and am getting the following error
    " java.lang.NumberFormatException: For input "string: "4294967295"
    i also have checked for clob data type in topology manager -- technology -- oracle -- data type
    and it is available.
    i have added the following statement in my parameter file
    set ODI_ADDITIONAL_JAVA_OPTIONS=%ODI_ADDITIONAL_JAVA_OPTIONS% " -Doracledatabasemetadata.get_lob_precision=false";
    but i don't see any statement like the one below after which i have to add the above statement.
    set ODI_ADDITIONAL_JAVA_OPTIONS="-Djava.security.policy=server.policy";
    please let me know how to make the clob data type work
    Regards
    janakiram

    Hi Sutirtha
    Yes i am able to view source data with clob data type by Right click onto your source datastore ---> View data
    I have checked metalink
    it says
    1. Oracle recommends the setting of the "get_lob_precision" flag to FALSE to avoid this message when dealing with LOB family datatypes (CLOB, BLOB, NCLOB, BFILE...).
    i have used the follwoing setting
    set ODI_JAVA_OPTIONS="-Djava.security.policy=server.policy"
    set ODI_ADDITIONAL_JAVA_OPTIONS=%ODI_ADDITIONAL_JAVA_OPTIONS% "-Doracledatabasemetadata.get_lob_precision=false"
    2. checked the internal id of CLOB data type and it ends with 999
    but still i have the same problem
    Regards
    janakiram

  • Unable to retrieve CLOB data from oracle

    hello I am trying to retreive a clob data from database. I am passing "country" to get "information". after submitting data it is showing SQLException caught: General error .
    whatz wrong.? can anybody help?
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    public class ClobTest2 extends HttpServlet{
         public void doGet( HttpServletRequest req, HttpServletResponse res )
              throws ServletException, IOException
                   Connection conn = null;
                   Statement st = null;
                   ResultSet rs = null;
                   res.setContentType( "text/html" );
                   PrintWriter out = res.getWriter();
                   String coun$ = "";
                   coun$ = req.getParameter( "coun" );
                   try{
                      Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver");
                      conn = DriverManager.getConnection( "jdbc:odbc:clobtester",    "temp", "sol" );
                      st = conn.createStatement();
                      rs = st.executeQuery( "SELECT information FROM testclob WHERE country = '"+coun$+"' ");
                        while( rs.next() )
                         out.println(rs.getClob(1) );
                      catch( ClassNotFoundException e )
                           out.println( "Could not load database driver" + e.getMessage() );
                      catch( SQLException e )
                           out.println("SQLException caught: " + e.getMessage()  );
                    e.printStackTrace();
                   catch( Exception e )
                       System.err.println( "Problem closing the database" );
                 try{
                             st.close();
                             conn.close();
                         }catch( Exception e )
                            System.err.println( "Problem closing the database" );
         }

    certainly but this problem can go on several
    category. and I am the needy one to get the solutionHowever I don't need to answer cross-posted questions. And I don't.

  • Trying to insert CLOB data into Remote Table..

    Hi everyone,
    I think this question had already posted.But i am not able to figure out this problem..
    what i am trying to do is
    I have a table in the remote database with a CLOB column like this
    REMOTE_TABLE
    ============
    REMOTE_TABLE_ID (Populated with sequence)
    REMOTE_CLOB CLOB
    In my Local database i have to write a Procedure to gather some information on a particular record (My Requirement) and save that CLOB in the REMOTE_TABLE.
    I built that procedure like this
    Declare
    var_clob CLOB; /* I need to processs several records and keep all data in a clob
    begin
    /***** Processed several records in a local database and stored in the variable var_clob which i need to insert into remote database ****/
    Insert into remote_table@remote values (remote_table_seq.nextval,var_clob);
    /*** when i try to execute the above command i am getting the following error
    ORA-06550: line 6, column 105:
    PL/SQL: ORA-22992: cannot use LOB locators selected from remote tables
    ORA-06550: line 6, column 1:
    PL/SQL: SQL Statement ignored *****/
    /***For a test i created the same table in local db****/
    Insert into local_table values (local_table_seq.nextval,var_clob);
    It is working fine and i am able to see the entire CLOB what i want.
    surprisingly if i pass some value instead of a varibale to the remote table like the following..
    Insert into remote_table@remote values (remote_table_seq.nextval,'Hiiiiiiiii');
    It is working fine...
    I tried the following too..
    decalre
    var_clob clob;
    begin
    var_clob := 'Hiiiiiiiiiiiiiii';
    Insert into remote_table@remote (remote_table_id) values (1);
    commit;
    update remote_table@remote set remote_clob = var_clob where remote_table_id = 1;
    commit;
    end
    I am getting the following error..
    ORA-22922: nonexistent LOB value
    ORA-02063: preceding line from CARDIO
    ORA-06512: at line 6
    Could someone please help me in fixing this issue..I need to process all the data to a variable like var_clob and insert that clob into remote table..
    Thanks in advance..
    phani

    Go to http://asktom.oracle.com and search for clob remote table
    also docs contain quite lot of info:
    http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14249/adlob_working.htm#sthref97
    Gints Plivna
    http://www.gplivna.eu

  • Help: Problem Inserting CLOB-data with ODBC

    Hello,
    I have searched this forum for my problem and found only one similar message, unfortunately without reply. I hope there are some wizards present here today who can help me.
    I use Perl and the ODBC driver for 8i (v8.1.5., WinNT) to insert and query data from a tabel with a CLOB. Queries go fine (although you have to increase the buffer size within Perl, but I have a problem to insert values into CLOBS.
    I get the message ORA-1704 shown below. Oracle/ODBC seems to think that i want to insert into a VARCHAR2(4000) instead of
    a CLOB.
    I have included my Perl test-script as well.
    Any suggestions are very welcome,
    Bart
    Error-message:
    ORA-01704 string literal too long
    Cause: The string literal is longer than 4000 characters.
    Action: Use a string literal of at most 4000 characters. Longer values
    may only be entered using bind variables.
    PERL test-script:
    #!perl
    # USAGE
    # perl clobtest size [bufsize]
    # Creates a string of approximately size*1000 bytes, consisting of a line with 'A',
    # followed by lines of at most 100 'o's, followed by a line with 'Z'.
    # bufsize is optional, if given, specifies the size of the ODBC buffer.
    # Default value is 10240
    # The string is loaded into a table field, then read from that field, and saved in
    # a file. The entire table is deleted on beforehand! so that there is only one
    # record in that table. If there are errors, error number and text are displayed on
    # the console.
    # See the globals below for username, password, host, table end column.
    use strict;
    use FileHandle;
    use Win32::ODBC;
    # GLOBALS
    # DATABASE
    my $ADMIN ='xpa';
    my $PWD ='manager';
    my $DBMC ='PO8i';
    my $table = 'TEST';
    my $column = 'OMSCHRIJVING';
    my $amount = $ARGV[0];
    my $newbufsize = $ARGV[1];
    my $bulk;
    sub connect_db {
    if (!$newbufsize) {
    $newbufsize = 10240;
    print "Connecting as... $ADMIN to $DBMC\n";
    my $dbh = new Win32::ODBC("dsn=$DBMC;UID=$ADMIN;PWD=$PWD");
    if (!$dbh) {
    print "Hm\n";
    die qq(Cannot open ODBC\n);
    $dbh->SetMaxBufSize($newbufsize);
    my $bufsize = $dbh->GetMaxBufSize();
    print "Bufsize = $bufsize\n";
    return $dbh;
    sub createbulk {
    $bulk = "A";
    my $bytes = 1000 * $amount;
    my $i;
    for ($i=0; $i<$bytes-4; $i++) {
    if ($i % 100 == 0) {
    $bulk .= "\n";
    else {
    $bulk .= "o";
    $bulk .= "\nZ\n";
    my $dbh = connect_db();
    createbulk();
    print "Deleting $table\n";
    $dbh->Sql("delete from $table");
    print "Inserting into $table -> $column\n";
    my $fail = $dbh->Sql("insert into $table ($column) VALUES (\'$bulk\')");
    if ($fail) {
    print "$dbh->{ErrNum}: $dbh->{ErrText}\n";
    exit;
    print "Querying from $table -> $column\n";
    $fail = $dbh->Sql("select OMSCHRIJVING from TEST");
    if ($fail) {
    print "$dbh->{ErrNum}: $dbh->{ErrText}\n";
    exit;
    my @result = ();
    while (defined $dbh->FetchRow()) {
    my $result = $dbh->Data();
    push @result, $result;
    print "Writing query result to file \"cltst$amount\"\n";
    open TST, ">cltst$amount";
    for my $line (@result) {
    print TST $line;
    close TST;

    Hi,
    We can't directly insert into a column
    which is a clob datatype.To insert data into
    the CLOB datatype column we have to write
    some PL/SQL progam using the package DBMS_LOB
    in oracle.
    Read Oracle documentation for more information on DBMS_LOB package.
    Hope this will help u.
    NEDU.
    null

  • Issue inserting UTF8 data into Oracle in windows environment.

    I have a UTF8 PHP application that is writing a string containing special characters to oracle through a ODBC connection. The Oracle database is setup for UTF8 support.
    Here is the issue. I have a simple string, "louis de funès". When the data manually moved correctly in UTF8 the data comes up correctly. The Oracle dump() shows:
    WORKING DATA:
    String: louis de funès
    select keywords, dump(keywords, 17) from ame_links where keywords like '%louis de %';
    Typ=1 Len=15: l,o,u,i,s, ,d,e, ,f,u,n,c3,a8,s
    However, when the same string is Inserted through the PHP application the data shows up in the db like this.
    NOT - WORKING:
    String: louis de funès
    select keywords, dump(keywords, 17) from ame_links where keywords like '%louis de %';
    Typ=1 Len=17: l,o,u,i,s, ,d,e, ,f,u,n,c3,83,c2,a8,
    (The è character has 4 bytes associated with it)
    Windows Setup:
    Windows Registry: HKEY_LOCAL_MACHINE -> SOFTWARE -> ORACLE -> HOME0 ->
    NLS_LANG=AMERICAN_AMERICA.UTF8
    HTTP headers are set for Content-Type:text/html; charset=UTF-8.
    Anyone know why I would get 2 extra bytes (83,c2) added in the middle of the è character? Is the oracle client doing some other type of character set conversion before I insert it into the database.
    I have also noticed that when I change the NLS_LANG from AMERICAN_AMERICA.UTF8 to AMERICAN_AMERICA.WE8MSWIN1252 that the 4 byte 'è' character works and the 2 byte character doesn't.

    I reproduced the porblem. Only differnce from yours is that it reproduces regardless the NLS_LANG setting.
    Although I cannot be 100% sure, I think what is happening is that Microsoft ODBC Driver Manager converts the insert statement from Windows ACP to Unicode, then calls SQLExecDirectW (WideChar version of SQLExecDirect) of the Oracle ODBC Driver and passes the insert statement in Unicode. Since your PHP code passed the insert statement in UTF-8 encoding, and the Driver Manager converted it from Windows ACP to Unicode, the letter e with grave ("c3,a8" in UTF-8) was wrongly converted to U+00c3, U+00a8 in the Unicode insert statement, then converted to UTF8 ( "c3,83,c2,a8") by Oracle.
    By looking at the PHP source code, apparently PHP odbc_exec() function calls ANSI SQLExecDirect().
    I tried to verify that the Driver Manager calls SQLExecDirectW() of Oracle ODBC Driver by enabling the ODBC Tracing, but I couldn't make it work. It genetates an emply SQL.LOG file. So my investigation stops here.
    IF YOUR METADATA NAMES ARE ASCII ONLY, AND NON-ASCII CHARACTERS APPEAR ONLY IN DATA, you can workaround this problem by binding data. For example,
    $stmt = odbc_prepare($conn, "insert into AME_LINKS (keywords, site_id) values (?, ?)");
    $rs = odbc_execute($stmt, array($invar,77));
    Makoto

  • Error selecting CLOB data from Oracle DB

    I am using CRXI with an Oracle 10g database.
    Recently, some columns were changed from Data Type LONG to CLOB.  Now, I get 2 error messages when trying to select any of these columns:  'Failed to retrieve data from the database' and 'Database connector error: cannot obtain error message from server'.
    I am using the Microsoft ODBC for Oracle.  Is there some other ODBC which can select this data type?

    MS's ODBC driver for Oracle only supports Oracle 7, it's noted on MS's MSDN site.
    Use Oracles ODBC Driver or Data Direct that ships with CR.
    Don

Maybe you are looking for

  • Adobe Reader XI and SharePoint Online

    We are mapping SharePoint sites as drives for our users, which utilizes WebDav.  When users are opening documents that are digital signature enabled, it is prompting them to check in/check out or open, as expected.  However, despite which option is c

  • Problem with SharePoint metadata (People Picker) in Adobe Reader X.

    Have a problem related metadata that is in SharePoint 2010 when I try to upload a PDF from Adobe Reader X (Online site). I have a few mandatory fields such as; Document Owner, Document Type, Date, etc..  When I save the PDF to a document library, so

  • Using Internal table in select queries

    Hi All, In the below mentioned code, i am reading an internal table and using the GUID i am fetching values from the database table and populating another internal table. SELECT  BUT000~PARTNER AS RESP_GROUP       FROM BUT000 INTO CORRESPONDING FIELD

  • Primary indexes missing

    Hi friends, In transaction DB02 I am getting 7 primary indexes missing,please tell me how to correct this error. Regards, Vish.

  • Call function ZRV_BELEG

    Hello, We need to create a ZRV_BELEG number range, my question is if possible to call on function module RV_INVOICE_DOCUMENT_ADD, to this Z range: Neue Nummernvergabe außer im Simulationsmodus       IF NOT kom-posting EQ 'H'.         CALL FUNCTION 'N