Call c++ dll from oracle 10g

can i know how to call a c++ dll from oracle or how to import a c++ dll from oracle
any help plz??

You can call dll's via an External Procedure callout, but the dll needs to conform to the C calling standard rather than c++
http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28424/adfns_externproc.htm#i1006354
Hope it helps,
Greg

Similar Messages

  • Calling external dll from oracle 8i pl/sql

    Hi
    I am facing in calling extrenal dll from pl/sql.
    Steps followed by me are
    1.
    create library crc_lib as
    'D:\ORACLE\ORA81\RDBMS\EXTPROC\EXTPROC\my.DLL';
    2.
    CREATE OR REPLACE FUNCTION check_file_crc (f1 char)
    RETURN BOOLEAN AS
    EXTERNAL LIBRARY CRC_LIB
    NAME "Check_File_CRC"
    LANGUAGE C;
    3. CREATE OR REPLACE PROCEDURE CRC_TEST (f1 varchar2) AS
         RetValue varchar2(100);
    BEGIN
         if check_file_crc(f1) then
              RetValue := '0';
         else
              RetValue := '1';
         end if;
         DBMS_OUTPUT.PUT_LINE(RetValue);
    EXCEPTION
         when others then
         DBMS_OUTPUT.PUT_LINE(sqlerrm|| 'I am in exception');
    END;
    4.ET SERVEROUTPUT ON
    SQL> exec crc_test('C:\file.txt');
    ORA-28576: lost RPC connection to external procedure agent
    I am in exception
    I have tsnames.ora as
    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    and listner.ora as
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = D:\Oracle\ora81)
    (PROGRAM = extproc)
    I am unable to resolve problem please help.
    Prashant
    Edited by: prashant13 on Jul 23, 2009 11:27 AM

    See if MOS note      468404.1 proves helpful here (though not meant for your version of Oracle).

  • Calling a DLL from ORACLE: problem of time!!!

    Hi all! Now I'm going to explain this strange subject. I've made a DLL in Delphi that imports a file from a server. Then I've created an Oracle 9iR2 procedure that makes a call to this DLL. Someone can explain me why the first call to this DLL is slower than the successive calls (20 seconds the first, 5 seconds the other)?
    Thank you very much!

    Yes! It's exact! After post this message I've casually find this (from Oracle Application Developer's Guide - Fundamentals):
    How the Database Server Calls External C Procedures
    To call an external C procedure, PL/SQL must find the path of the appropriate DLL.
    The PL/SQL engine retrieves the path from the data dictionary, based on the library alias from the procedure declaration’s AS LANGUAGE clause. Next, PL/SQL alerts a Listener process which, in turn, spawns a session-specific
    agent. By default, this agent is named extproc, although you can specify other names in the listener.ora file. The Listener hands over the connection to the agent, and PL/SQL passes to the agent the name of the DLL, the name of the external procedure, and any parameters.
    Then, the agent loads the DLL and runs the external procedure. Also, the agent handles service calls (such as raising an exception) and callbacks to the Oracle
    server. Finally, the agent passes to PL/SQL any values returned by the external procedure.
    After the external procedure completes, the agent remains active throughout your
    Oracle session; when you log off, the agent is killed. Consequently, you incur the
    cost of launching the agent only once, no matter how many calls you make. Still, you should call an external procedure only when the computational benefits
    outweigh the cost.
    Thank you very much!

  • CALL A REPORT FROM ORACLE 10G FORMS

    HI,
    I HAVE STARTED TO WORK WITH ORACLE DATABASE 11G AND DEVELOPER SUIT 10G.
    I HAVE A REPORT THAT IT WORKS CORRECTLY WHEN I RUN IT FROM REPORT DEVELOPER.
    BUT WHEN I WANT TO CALL IT FROM A FORM, IT DOESN'T WORK.
    IN ORACLE DEVELOPER 6I, I USE "RUN_PRODUCT" COMMAND AND IT WORKS WELL ,BUT IN
    DEVELOPER SUIT 10G I HAVE TO USE "RUN_REPORT_OBJECT" AND I DON'T KNOW HOW.
    WHEN I COMPILE MY CODES THERE IS NO ERROR ,BUT WHEN I RUN IT, IT SHOWS ME SOME ERRORS .
    THIS IS MY CODES FROM ORACLE HELP :
    DECLARE  
    repid REPORT_OBJECT; 
    v_rep VARCHAR2(100); 
    rep_status VARCHAR2(20);
    BEGIN
    repid := FIND_REPORT_OBJECT('D:\TESTPROJ\REPORT1.JSP'); 
    v_rep := RUN_REPORT_OBJECT(repid);
    END;
    IT SHOWS ME THIS ERROR : FRM-41219 .CANNOT FIND REPORT. INVALID ID.
    AND THEN : FRM-40738. ARGUMENT 1 TO BUILTIN RUN_REPORT_OBJECT CANNOT BE NULL;
    PLEASE HELP ME TO SOLVE THIS PROBLEM
    THANKFUL
    MAHSA

    Manu,
    I added my report to Form-Navigator and I changed it's name to REP1.
    I added all you codes to When-Button-Press event like this :
    DECLARE
         RO_Report_ID REPORT_OBJECT;
         Str_Report_Server_Job VARCHAR2(100);
         Str_Job_ID VARCHAR2(100);
         Str_URL VARCHAR2(100);
         PL_ID PARAMLIST ;
    BEGIN
         PL_ID := GET_PARAMETER_LIST('TEMPDATA');
         IF NOT ID_NULL(PL_ID) THEN
              DESTROY_PARAMETER_LIST(PL_ID);
         END IF;
         PL_ID := CREATE_PARAMETER_LIST('TEMPDATA');
         RO_Report_ID := FIND_REPORT_OBJECT('REP1'); -- This is my report's name in Form-Navigator. Is it correct to put it here ?
         ADD_PARAMETER(PL_ID, 'P_SELECT_CITY',     TEXT_PARAMETER, :CITY); --These are my parameter in REPORT and it's Value in my FORM*
         SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_FILENAME, 'D:\projects\PROJECT_OF_1388\TestOraDev10g\TEST_REP1');
         SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_COMM_MODE, SYNCHRONOUS);
         SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_EXECUTION_MODE, BATCH);
         SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_DESTYPE, FILE);
         SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_DESFORMAT, 'PDF');
         SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_SERVER, 'Rep_faraji'); -- as you said, I put my computer name after REP_   here
         Str_Report_Server_Job := RUN_REPORT_OBJECT(RO_Report_ID, PL_ID);
         Str_Job_ID := SUBSTR(Str_Report_Server_Job, LENGTH('Rep_faraji') + 2, LENGTH(Str_Report_Server_Job)); -- as you said, I put my computer name after REP_   here
         Str_URL      := '/reports/rwservlet/getjobid' || Str_Job_ID || '?server=Rep_faraji'; -- as you said, I put my computer name after REP_   here
         WEB.SHOW_DOCUMENT(Str_URL, '_SELF');
         DESTROY_PARAMETER_LIST(PL_ID);
    END;
    But it doesn't work again, And shows this error :
    FRM-41213. unable to connect to the report server Rep_faraji
    Edited by: user508902 on Mar 2, 2010 2:18 AM
    Edited by: user508902 on Mar 2, 2010 2:20 AM

  • Calling a webservices from Oracle 10G ( 10.2.0.2)

    Hi:
    I am in the process of putting a database Java stored procedure that can call an external webservices.
    PL/SQL Wrapper -> Java Stored Procedure-> External Web services
    I loaded the following jars in the dataase.
    dbwsa.jar
    dbwsclient.jar
    1. I am having issues consuming this external webservice from SQL*PLUS. Do you know whether I need to load any other JARS ?
    2. How can I debug this issue ? I enabled TCP Monitor in JDeveloper and don't see anything when I call the PL/SQL wrapper in SQL*PLUS.
    3. I can use a Java client and tested the Web services OK.
    error message:
    SQL> l
    1 declare
    2 x varchar2(100);
    3 begin
    4
    5 x := tester.test_db1();
    6* end;
    SQL> /
    calling
    http://XX.XX.YY.121:8988/Application9-ViewController-context-root/MyWebService1S
    oapHttpPort
    java.rmi.RemoteException: Error parsing envelope; nested exception is:
    javax.xml.soap.SOAPException: Error parsing envelope
    at
    view.proxy.runtime.MyWebService1SoapHttp_Stub.sayhello2(MyWebService1SoapHttp_St
    ub.java:99)
    at
    prpd.MyWebService1SoapHttpPortClient.sayhello2(MyWebService1SoapHttpPortClient.j
    ava:41)
    at prpd.TEST_DB.TEST_DB1(TEST_DB.java:21)
    Caused by: javax.xml.soap.SOAPException: Error parsing envelope
    at
    oracle.j2ee.ws.saaj.soap.soap11.SOAPImplementation11.createEnvelope(SOAPImplemen
    tation11.java:103)
    at oracle.j2ee.ws.saaj.soap.SOAPPartImpl.getEnvelope(SOAPPartImpl.java:75)
    at oracle.j2ee.ws.saaj.soap.MessageImpl.getSOAPBody(MessageImpl.java:934)
    at
    oracle.j2ee.ws.client.StreamingSender._preHandlingHook(StreamingSender.java:692)
    at oracle.j2ee.ws.client.StubBase._preHandlingHook(StubBase.java:688)
    at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:207)
    at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:112)
    at
    view.proxy.runtime.MyWebService1SoapHttp_Stub.sayhello2(MyWebService1SoapHttp_St
    ub.java:76)
    ... 2 more
    Caused by: java.lang.IllegalArgumentException
    at oracle.xml.parser.v2.XMLParser.setAttribute(XMLParser.java:794)
    at
    oracle.j2ee.ws.saaj.soap.soap11.SOAPImplementation11.createEnvelope(SOAPImplemen
    tation11.java:54)
    ... 9 more
    PL/SQL procedure successfully completed.
    SQL> /
    thx
    Raj

    thanks Tugduall for the comments. here are the instructions I followed to create a java stored procedure that can call a webservices. Unfortunately, this seems like a very complex task. Do you have any ideas how I could debug or troubleshoot this issue ?
    Please note that I used JDeveloper to generate the client code.
    ========================================================
    1. download the dbws-callout-utility-10R2.zip from OTN at:
    http://www.oracle.com/technology/sample_code/tech/java/jsp/dbwebservices.html
    2. create an application/project with 1.4 JDK.
    3. create a web service by ‘Business Tier’->Web Service->Web Service Proxy->UDDI
    4. next… to ‘Search for’, type ‘quote’.
    5. from the list select one. For me ‘Quote of day’ was picked.
    6. click Next all the way to Finish.
    7. from the ‘Application Sources’ select ‘QuotoProxy’ then find its main method.
    8. at the section
    // Add your own code here, add the line like:
    System.out.println("quote "+myPort.getQuote());
    9. run it to see its return.
    10. cteate a class that has a method to call client method to be invoked (static)
    like the following:
    package dbws;
    import dbws.QotdPortClient;
    public class MainClientStub {
    public MainClientStub() {
    public static String getMyQoute(){
    QotdPortClient myClient = null;
    try {
    myClient = new QotdPortClient();
    return myClient.getQuote();
    } catch (Exception e) {
    e.printStackTrace();
    return null;
    note that the package name in your project.
    11. create a deployment profile as ‘JAR File’. Uncheck the box ‘Project Dependencies’
    12. deploy it to the local box. ‘Deploy to JAR File’.
    13. unzip the dbws-callout-utility-10R2.zip to get dbwsa.jar.
    14. execute the following from command line:
    loadjava –user test/[email protected] -resolve –verbose –synonym –grant public to dbwsa.jar myarchive1.jar
    loadjava -user test/test@orcl1020 -resolve -verbose -synonym -genmissing -grant public myarchive1.j
    ar dbwsa.jar
    loadjava -user sys/<sys_pass> -resolve -verbose -synonym -genmissing -grant public myarchive1.jar dbwsa.jar
    15. create a function like the following:
    CREATE OR REPLACE FUNCTION teststub RETURN VARCHAR2 AS
    LANGUAGE JAVA NAME ‘dbws.MainClientStub.getMyQoute() return java.lang.String’;
    16. Run at sqlplus: Select teststub from dual;
    ======================================================

  • Need to Call VB DLL from Oracle forms 6i.  Please help.

    Dear Friends,
    I am having a DLL which is created in VB. DLL having one function, that function having some IN parameters and it will return Char or Number.
    Please tell me how to call, send IN Parameter and Get out value.
    Advance Thanks.
    Best Regards,
    S.Mariappan.

    I am using ORA_FFI to register the library sucessfully, but getting error "PDE-DFF004 Can't find function clstest.ShowPopup in library C:\temp\testdll.dll", when register the function.
    Has anyone successfully call a VB DLL using ORA_FFI.
    Thanks.
    -- Register the library
    dll_handle := ora_ffi.load_library('C:\temp\','testdll.dll');
    -- Register the function and parameters
    test_handle := ora_ffi.register_function(dll_handle, 'clstest.ShowPopup', ora_ffi.C_STD);
    ora_ffi.register_return(test_handle, ora_ffi.C_INT);

  • How to call a c++ dll from oracle

    plz can someone help me how to call a c++ dll (not ocx coz 10g cant see ocx) from oracle 10g ?
    Edited by: jihad jag on Apr 23, 2009 1:40 AM

    I guess your request is timed out but to call shared libraries look for 'External Procedure Call' in Oracle documentation.

  • Calling a report from oracle form 10g

    how to call a report from oracle form 10g

    Please see the link:
    http://www.oracle.com/technology/products/forms/pdf/10g/frm10gsrw10g.pdf

  • URGENT!!! calling crystal reports from oracle forms 10g

    Is it possible to call crystal reports from oracle forms 10g?
    Can someone help to answer how, if there is a solusion, to call crystal reports from oracle forms 10g.
    Please provide codes with details showing step by step.
    Thanks

    hi
    try something like this.
    DECLARE
    charWinHandle VARCHAR2(50);
    numWinHandle NUMBER;
    BEGIN Set_Application_Property(Cursor_Style,'BUSY');
    charWinHandle := Get_Item_Property('Control.Rep',Window_Handle);
    numWinHandle := To_Number(charWinHandle);
    :Item('Control.CrystalReport1').OCX.Crystal.Crysta lReport.WindowParentHandle
    := numWinHandle;
    :Item('Control.CrystalReport1').OCX.Crystal.Crysta lReport.WindowState := 2;
    :Item('CONTROL.CRYSTALREPORT1').OCX.Crystal.Crysta lReport.Connect
    := 'DSN=;UID=' || Get_Application_Property(UserName) ||
    ';pwd=' || Get_Application_Property(password) || ';dsq=;';
    Crystal_CrystalCtrl.ReportFileName( :Item('Control.CrystalReport1').interface,
    'C:\Sample_Rep.Rpt' );
    Set_Window_Property( Forms_Mdi_Window, Window_State,Maximize );
    Set_Window_Property( 'MAIN', Window_State, Maximize );
    :reptitle := 'Report Preview Window';
    numWinHandle := Crystal_CrystalCtrl.PrintReport( :Item('Control.CrystalReport1').interface );
    Set_Application_Property(Cursor_Style,'DEFAULT');
    END;NOTE: Change the report name and path according to your required file name and path in
    the "Crystal_CrystalCtrl.ReportFileName" method call. Also, the connection string shown
    assumes that you will use the current USER and PASSWORD for the Form.
    - To make the above Form generic so that you can run any Crystal report from it, then create
    a parameter for the report name and pass it to the Form using CALL_FORM from any other Form.
    Then just replace the file name with the passed parameter.
    -. Run the Form
    If its correct/helpful please mark it thanks.
    sarah
    Edited by: S@R@h on Nov 27, 2009 6:33 AM

  • How to call web services from oracle database 10g

    Hi all ,
    How can i call web services from oracle database 10g ?
    thanks ...

    abdou123 wrote:
    but how can i get complex result
    for example
    i pass input parameter like National Id Number
    and get the person details ( name , age , date of birth , ............ ) .Basic approach to web services using UTL_HTTP explained in {message:id=10448611}.
    An example of using a pipeline table function as a data transformation process (turning web data into rows and columns) in {message:id=10158148}.

  • Can I call host file ( Unix Shell script ) from Oracle 10g trigger

    Hi,
    I am new to Oracle 10g. Can I call host file ( unix shell script ) from Oracle 10g trigger ?. I know it is possible. Pl explain me with small example
    thanks & regards
    parag

    user12009546 wrote:
    Hi,
    I am new to Oracle 10g. Can I call host file ( unix shell script ) from Oracle 10g trigger ?. I know it is possible. Pl explain me with small example
    thanks & regards
    paragIf you are in 10g, you can simple call shell script from DBMS_SCHEDULER:
    BEGIN
    DBMS_SCHEDULER.CREATE_JOB (
    job_name => 'TEST_SCRIPT',
    job_type => 'EXECUTABLE',
    job_action => 'PATH_OF_YOUR_SCRIPT',
    start_date => SYSDATE,
    repeat_interval => 'FREQ=MINUTELY; INTERVAL=1',
    enabled => TRUE,
    comments => 'Shell script from Oracle'
    END;
    /

  • ERROR while connecting to Netezza Database from oracle 10g via dblink.

    Gurus,
    We are trying to connect to Netezza DB from oracle 10g DB.. We successfully establised ODBC connection but unable to retrieve data over the dblink connected from oracle to Netezza. We get this error.. Please HELP ASAP!!!!!!!!
    ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
    Server and/or port attributes are empty {HY000,NativeErr = 33}

    Manik wrote:
    We are trying to connect to Netezza DB from oracle 10g DB.. We successfully establised ODBC connection but unable to retrieve data over the dblink connected from oracle to Netezza. We get this error.. Please HELP ASAP!!!!!!!!
    ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
    Server and/or port attributes are empty {HY000,NativeErr = 33}Always test ODBC client connectivity on the Oracle server to the remote and foreign database, first. Use the isql ODBC client command line interface (as the oracle or grid o/s user).
    If this does not work, then Oracle HSO will also not work.
    Once you have confirmed that this is working, then configure the HSO service for Oracle.
    If that fails, enables ODBC client tracing for that HSO service (in the init file for that service) to see exactly what ODBC calls Oracle is making and which of these are failing.

  • Porting from Oracle 10g AS to Oracle 11g Weblogic server

    Hi,
    I am trying to port J2EE applicatin from Oracle 10g AS to Oracle 11g Weblogic Server. I have jsp files which contains sql code embedded to fetch data from the DB. The components used in this application are Java, JSP, Servlets and Stateless session beans.
    I have a commonjar which is used to create DB Connection manager and other common stuff which is present inside web-inf/lib. My application is packaged as an ear and which contains the war and different ejb-project.jar files. When the Stateless bean is trying to call the ConnectionManager class, which is present inside the commonjar inside web-inf/lib, I get InvocationTargetException. When I debugged in Eclipse, I see that that inside ejb the reference ConnectionManager, the variable cannot be resolved. So I guess at runtime, ejb is not able to locate ConnectionManager Class.
    I tried to copy this jar to APP-INF/lib and the same jar is present inside web-inf/lib as well. In that case what happens is the jsp fails with the exception ConnectionManager cannot be resolved.
    How can I make the ejb work by keeping the commonjar inside web-inf/lib alone.
    Any help or suggestions?
    Thanks
    Raj

    The classloader hierarchy in WLS looks like this (arrows denote inheritance direction):
    Java bootstrap classloader <- Java CLASSPATH classloader <- WLS $DOMAIN_HOME/lib classloader <- Application (e.g., EAR) classloader <- web app classloader <- single JSP classloader
    The Connection Manager is loaded by the web app classloader while the EJBs are loaded by the application classloader so the EJBs have no visibility to the classes loaded by the child (web app) classloader.
    The simplest fix might be to move the Connection Manager jar file to the EAR file's APP-INF/lib directory.
    One word of caution though, you need to be using WebLogic Server's Data Sources and JDBC connection pooling to make sure that you correct transactional behavior if the application is doing any sort of JTA transaction (regardless of whether the JTA transactions are using XA or not...).
    Hope this helps,
    Robert

  • Java.lang.ClassCastException when calling webservice stub  from oracle DB

    Hello everyone,
    Because i need to get familliar with calling java webservices from an oracle database, i followed the following example
    (http://www.oracle.com/technology/products/jdev/howtos/10g/WS_DBCallout/DBCalloutWS_HowTo.htm),
    which included installing the SOAP client stack to the database (in the sys schema), grant the right permissions to the SYS user, developing a simple Helloworld webservice with jdeveloper 10.1.2, generating a Webservice stub and deploying a static method of this stub to the database.
    All of this worked just fine, but when i want to call the webservice from oracle by invoking the deployed function, i get a java.lang.ClassCastException.
    The complete stacktrace lists as follows:
    v_Return = foutje: java.lang.ClassCastExceptionnulljava.lang.ClassCastException
         at org.apache.soap.rpc.RPCMessage.serializeParams(RPCMessage.java:323)
         at org.apache.soap.rpc.RPCMessage.marshall(RPCMessage.java:305)
         at org.apache.soap.Body.marshall(Body.java:148)
         at org.apache.soap.Envelope.marshall(Envelope.java:203)
         at org.apache.soap.Envelope.marshall(Envelope.java:161)
         at oracle.soap.transport.http.OracleSOAPHTTPConnection.send(OracleSOAPHTTPConnection.java:664)
         at org.apache.soap.rpc.Call.invoke(Call.java:261)
         at test.HelloWorldServiceStub.sayHello(HelloWorldServiceStub.java:82)
    I debugged the WebServiceStub and noticed that the call.invoke method crashes. This is weird beacuse when i use System.out.println on the parameter is works just fine. so you would think it is a string.
    Moreover, if i invoke the webservice from the endpoint or even when im debugging the stub locally it all works just fine.
    Can someone plzzzzzz help me with this because i spend the whole day looking for an answer and im getting crazy!!!!!
    Thanx al lot guys,
    Kim
    PS or could the problem be in the database instead of the webservice?????????
    Message was edited by:
    user568880
    Message was edited by:
    Kim Zeevaarders

    I think that it's going wrong because i did not install the right SOAP client stack.
    In the HowTo is specified what JAR files are to be loaded in the database (from %JDEV_HOME), but it states that it has only been tested on a Oracle 9.2 database. I'm using Oracle10g. Maybe that's the reason that im getting this classcast exception...
    Can anybody tell me what the right .JAR files are that have to be loaded into database when working with Oracle 10g?
    Many thx in advance!
    Kim

  • How to migrate a table from ORACLE 10g to 8i

    have table named 'liuxg_tab_01' in 10g.
    This morning I exported this table using 'exp' and then tried to imp it into 8i, I failed.
    After a while, I created a database link named 'ctf' in 8i which connected to 10g. I issued 'create table test as selct * from liuxg_tab_01@ctf',it returns 'ORA-01723'.
    Then I extraced the DDL of 'liuxg_tab_01' from 10g with QUEST TAOD, it's:
    CREATE TABLE LIUXG_TAB_01
    OWNER VARCHAR2(30 BYTE),
    OBJECT_NAME VARCHAR2(30 BYTE),
    SUBOBJECT_NAME VARCHAR2(30 BYTE),
    OBJECT_ID NUMBER,
    DATA_OBJECT_ID NUMBER,
    OBJECT_TYPE VARCHAR2(19 BYTE),
    CREATED DATE,
    LAST_DDL_TIME DATE,
    TIMESTAMP VARCHAR2(19 BYTE),
    STATUS VARCHAR2(7 BYTE),
    TEMPORARY VARCHAR2(1 BYTE),
    GENERATED VARCHAR2(1 BYTE),
    SECONDARY VARCHAR2(1 BYTE)
    But I can not create a table using the upper DDL in 8i if I do not wipe off those "BYTES".
    After creation of the table using the upper DDL without those 'BYTES', I sucessfully executed 'insert into LIUXG_TAB_01 select * from liuxg_tab_01@ctf'.
    Anyone has a better method to move a table from ORACLE 10g to 8i?

    1) The particular version of 8i and 10g in use here would be useful. I'm not sure that Oracle supports database links between any version of 8i and any version of 10g, though, so you're probably lucky that it worked as well as it did.
    10g 10.1.0.3.0 and 8i 8.1.7.0.0
    2) What version of the export utility did you use? You would need to use the 8i version to generate the dump file to have any chance of working, not the 10g verion.
    I use the 'exp' provided with 10g 10.1.0.3.0 and 'imp' with 8i 8.1.7.0.0. I have tried to export data directly from 10g 10.1.0.3.0 using 'exp' provided with 8i 8.1.7.0.0. Failed.
    3) Why? Since 8i is desupported, there isn't a lot of call for tools to move data from supported releases to unsupported releases.
    We have an 8i DB which is still porivding insentive services. We just wanna migrate some tales from 10g to it.
    FYI, NLS_LENGTH_SEMANTICS was introduced in 9i, so it's no suprise that 8i objected to the BYTE keyword in the DDL.
    What's FYI :P
    Another option would be to generate a CSV file of the data from 10g and use SQL*Loader to load it into 8i. Not sure this would be any easier, though.
    Justin
    Message was edited by:
    user510846

Maybe you are looking for