Loading GeoTiff in Oracle

Hi,
I am trying to load a Raster GeoTiff (has location tags, but extension is .tif) in Oracle Spatial 11.2 version.
The things I did are :
*1)*
--Creating Georaster table
CREATE TABLE city_images (image_id NUMBER, image_description VARCHAR2(50), image SDO_GEORASTER);
*2)*
--creating raster data table
CREATE TABLE city_images_rdt OF SDO_RASTER
(PRIMARY KEY (rasterID, pyramidLevel, bandBlockNumber,
rowBlockNumber, columnBlockNumber))
-- TABLESPACE im_tbs_1
LOB(rasterBlock) STORE AS lobseg
CHUNK 32768
CACHE READS
PCTVERSION 0
STORAGE (PCTINCREASE 0)
*3)*
Created Procedure as follows :
create or replace
procedure GEORASTERPROC(imgpath in varchar2) as
geor SDO_GEORASTER;
BEGIN
-- Initialize an empty GeoRaster object into which the external image
-- is to be imported.
INSERT INTO city_images
values( 1, 'TIFF', sdo_geor.init('city_images_rdt') );
-- Import the TIFF image.
SELECT image INTO geor FROM city_images
WHERE image_id = 1 FOR UPDATE;
--sdo_geor.importFrom(geor, NULL, 'GeoTIFF', 'file', imgpath); 
sdo_geor.importFrom(geor, NULL, 'TIFF', 'file', imgpath);
UPDATE city_images SET image = geor WHERE image_id = 1;
COMMIT;
END;
*4)* Placed Image on the Oracle server at /home/oracle/ (However I tried it from my local machine as well). The image I have seen in Google Earth and validated with GeoTiff Examiner.
*5)* Ran the above procedure as follows :
exec GEORASTERPROC('/home/oracle/ImageRasterizer.tif')
Now the Error I am getting is :
ERROR at line 1:
ORA-13464: error loading GeoRaster data: - Unable to render RenderedOp for this
operation.
ORA-06512: at "MDSYS.MD", line 1723
ORA-06512: at "MDSYS.MDERR", line 17
ORA-06512: at "MDSYS.SDO_GEOR", line 5539
ORA-06512: at "WM_GIS.GEORASTERPROC", line 13
ORA-06512: at line 1
What could have gone wrong ?? Please help me i this, I am struggling for many days here.
Thanks,
Alankar

Hi Alankar,
this error mesg shows the tiff image cannot be handled by importFrom, which completely depends upon JAI. how big is the image and how the bands are interleaved in the tiff file? Also, can you run the cliend-side GeoRasterLoader to load the image? It will print the error stack of the java exception in more details.
JAI has a lot of limitations in handling geospatial images. So, we generally recommend you use GDAL which supports GeoRaster for loading and exporting all GDAL supported formats. (http://www.gdal.org/frmt_georaster.html)
on the side, a couple of recommendations for your scripts:
1. always use SecureFile lob when creating the RDT's, which speeds up georaster operations by several times. in other words change "LOB(rasterBlock) STORE AS lobseg" to "LOB(rasterBlock) STORE AS SECUREFILE". (also, remove the name "lobseg" or give a special name for each RDT)
2. When loading an image into a GeoRaster database, always specify a block size, and it should generally be 256x256 or larger.
Regards,
Jeffrey

Similar Messages

  • How to create a load job in Oracle 9i

    How do you create a basic load job in Oracle 9i? I'm really struggling with the syntax.
    This is what I have so far and its not working. I am a Microsoft SQL Jr. DBA, Oracle is not a strong point :/.
    Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production
    VARIABLE jobno NUMBER
    BEGIN
       DBMS_JOB.SUBMIT(:jobno,
    'load data',
    'infile oracle.csv',
    'into TABLE HUB.PROVLKUP_LOAD_MATT',
    'fields terminated by "|"',
    'TRAILING NULLCOLS',
    '(PROV_NO,PROV_NAME,FIRST_NAME,MI,TITLE,ADDRESS,CITY,COUNTY,STATE,ZIP,PHONE1,PHONE2,SPECIALTY,TAX_ID,PROV_NETWORK,EFF_DATE,TERM_DATE,PROV_TYPE,DO_NOT_REFER,DNR_DATE,DO_NOT_USE,NOTES)',SYSDATE, 'SYSDATE + 1');
       COMMIT;
    END;I actually want this job to be only run by the DBMS_JOB.Run command and not on auto schedule. Is there a way not to include a run date?
    Edited by: 1007692 on May 23, 2013 11:38 AM
    Edited by: 1007692 on May 23, 2013 11:39 AM

    Welcome to the forum.
    Oracle 9i is a database version from the previous century.
    But:
    You can read about DBMS_JOB in the 9i documentation here:
    http://www.oracle.com/pls/db92/homepage
    Or do some searches on http://asktom.oracle.com
    Anyway: if you want the job to run once, then omit the interval...
    Oh, and don't forget to read {message:id=9360002} from the SQL and Pl/SQL FAQ here:
    SQL and PL/SQL FAQ
    Edited by: Hoek on May 23, 2013 8:09 PM

  • Using FDM to load data from oracle table (Integration Import Script)

    Hi,
    I am using Integration Import Script to load data from oracle table to worktables in FDM.
    i am getting following error while running the script.
    Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done
    Attaching the full error report
    ERROR:
    Code............................................. -2147217887
    Description...................................... Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
    At line: 22
    Procedure........................................ clsImpProcessMgr.fLoadAndProcessFile
    Component........................................ upsWObjectsDM
    Version.......................................... 1112
    Thread........................................... 6260
    IDENTIFICATION:
    User............................................. ******
    Computer Name.................................... *******
    App Name......................................... FDMAPP
    Client App....................................... WebClient
    CONNECTION:
    Provider......................................... ORAOLEDB.ORACLE
    Data Server......................................
    Database Name.................................... DBNAME
    Trusted Connect.................................. False
    Connect Status.. Connection Open
    GLOBALS:
    Location......................................... SCRTEST
    Location ID...................................... 750
    Location Seg..................................... 4
    Category......................................... FDM ACTUAL
    Category ID...................................... 13
    Period........................................... Jun - 2011
    Period ID........................................ 6/30/2011
    POV Local........................................ True
    Language......................................... 1033
    User Level....................................... 1
    All Partitions................................... True
    Is Auditor....................................... False
    I am using the following script
    Function ImpScrTest(strLoc, lngCatKey, dblPerKey, strWorkTableName)
    'Oracle Hyperion FDM Integration Import Script:
    'Created By:     Dhananjay
    'Date Created:     1/17/2012 10:29:53 AM
    'Purpose:A test script to import data from Oracle EBS tables
    Dim cnSS 'ADODB.Connection
    Dim strSQL 'SQL string
    Dim rs 'Recordset
    Dim rsAppend 'tTB table append rs object
    'Initialize objects
    Set cnSS = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")
    Set rsAppend = DW.DataAccess.farsTable(strWorkTableName)
    'Connect to SQL Server database
    cnss.open "Provider=OraOLEDB.Oracle.1;Data Source= +server+;Initial Catalog= +catalog+;User ID= +uid+;Password= +pass+"
    'Create query string
    strSQL = "Select AMOUNT,DESCRIPTION,ACCOUNT,ENTITY FROM +catalog+.TEST_TMP"
    'Get data
    rs.Open strSQL, cnSS
    'Check for data
    If rs.bof And rs.eof Then
    RES.PlngActionType = 2
    RES.PstrActionValue = "No Records to load!"
    Exit Function
    End If
    'Loop through records and append to tTB table in location’s DB
    If Not rs.bof And Not rs.eof Then
    Do While Not rs.eof
    rsAppend.AddNew
    rsAppend.Fields("PartitionKey") = RES.PlngLocKey
    rsAppend.Fields("CatKey") = RES.PlngCatKey
    rsAppend.Fields("PeriodKey") = RES.PdtePerKey
    rsAppend.Fields("DataView") = "YTD"
    rsAppend.Fields("CalcAcctType") = 9
    rsAppend.Fields("Amount") = rs.fields("Amount").Value
    rsAppend.Fields("Desc1") = rs.fields("Description").Value
    rsAppend.Fields("Account") = rs.fields("Account").Value
    rsAppend.Fields("Entity") = rs.fields("Entity").Value
    rsAppend.Update
    rs.movenext
    Loop
    End If
    'Records loaded
    RES.PlngActionType = 6
    RES.PstrActionValue = "Import successful!"
    'Assign Return value
    SQLIntegration = True
    End Function
    Please help me on this
    Thanks,
    Dhananjay
    Edited by: DBS on Feb 9, 2012 10:21 PM

    Hi,
    I found the problem.It was because of the connection string.The format was different for oracle tables.
    PFB the format
    *cnss.open"Provider=OraOLEDB.Oracle.1;Data Source= servername:port/SID;Database= DB;User Id=aaaa;Password=aaaa;"*
    And thanks *SH* for quick response.
    So closing the thread......
    Thanks,
    Dhananjay

  • Problem in loading Ntriple to Oracle

    Hello,
    Can some one please point what could be wrong in loading of Data in Ntriple format using the Code provide by Oracle to convert RDF data in N-Triple format to
    Oracle's RDF storage type, SDO_RDF_TRIPLE_S in Oracle10g R2.
    called TestNTriple2NDM.java
    C:\prateek\semdis\sdordf_converter>java TestNTriple2NDM Data/timestamp.nt TIMEST
    AMP_RDF_DATA TIMEMODEL 3
    ID: 1403 Error: java.sql.SQLException: ORA-13199: RDF:Error occurred
    ORA-06512: at "MDSYS.MD", line 1723
    ORA-06512: at "MDSYS.MDERR", line 17
    ORA-06512: at "MDSYS.SDO_RDF_TRIPLE_S", line 322
    ID: 3641 Error: java.sql.SQLException: ORA-13199: RDF:Error occurred
    ORA-06512: at "MDSYS.MD", line 1723
    ORA-06512: at "MDSYS.MDERR", line 17
    ORA-06512: at "MDSYS.SDO_RDF_TRIPLE_S", line 322
    ID: 5835 Error: java.sql.SQLException: Unsupported feature
    Rows: 10000
    ID: 10754 Error: java.sql.SQLException: ORA-13199: RDF:Error occurred
    ORA-06512: at "MDSYS.MD", line 1723
    ORA-06512: at "MDSYS.MDERR", line 17
    ORA-06512: at "MDSYS.SDO_RDF_TRIPLE_S", line 322
    ID: 10755 Error: java.sql.SQLException: ORA-13199: RDF:Error occurred
    ORA-06512: at "MDSYS.MD", line 1723
    ORA-06512: at "MDSYS.MDERR", line 17
    ORA-06512: at "MDSYS.SDO_RDF_TRIPLE_S", line 322
    ID: 10868 Error: java.sql.SQLException: Unsupported feature
    ID: 12002 Error: java.sql.SQLException: Unsupported feature
    ID: 12818 Error: java.sql.SQLException: Unsupported feature
    time (sec): 2342.0
    time (min): 39.03333333333333
    It loads the data,but I see all these errors.
    Thanks
    Prateek

    Hi Prateek,
    I have posted a response at Problem in loading Ntriple to Oracle .
    Melli

  • SOS!!!!----Error for Loading data from Oracle 11g to Essbase using ODI

    Hi all.
    I want to load data from oracle database to essbase using ODI.
    I configure successfully the physical and logical Hyperion essbase on Topology Manager, and got the ESSBASE structure of BASIC app DEMO.
    The problem is.
    1. When I try view data right click on the essbase table,
    va.sql.SQLException: Driver must be specified
         at com.sunopsis.sql.SnpsConnection.a(SnpsConnection.java)
         at com.sunopsis.sql.SnpsConnection.testConnection(SnpsConnection.java)
         at com.sunopsis.sql.SnpsConnection.testConnection(SnpsConnection.java)
         at com.sunopsis.graphical.frame.b.jc.bE(jc.java)
         at com.sunopsis.graphical.frame.bo.bA(bo.java)
         at com.sunopsis.graphical.frame.b.ja.dl(ja.java)
         at com.sunopsis.graphical.frame.b.ja.<init>(ja.java)
         at com.sunopsis.graphical.frame.b.jc.<init>(jc.java)
    I got answer from Oracle Supporter It's ok, just omit it. Then the second problem appear.
    2. I create an interface between oracle database and essbase, click the option "staging area deffirent from target"(meaning the staging is created at oracle database), and using IKM SQL to Hyperion Essbase(metadata), execute this interface
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (innermost last):
    File "<string>", line 61, in ?
    com.hyperion.odi.essbase.ODIEssbaseException: Invalid value specified [RULES_FILE] for Load option [null]
         at com.hyperion.odi.essbase.ODIEssbaseMetaWriter.validateLoadOptions(Unknown Source)
         at com.hyperion.odi.essbase.AbstractEssbaseWriter.beginLoad(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java)
         at org.python.core.PyMethod.__call__(PyMethod.java)
         at org.python.core.PyObject.__call__(PyObject.java)
         at org.python.core.PyInstance.invoke(PyInstance.java)
         at org.python.pycode._pyx1.f$0(<string>:61)
         at org.python.pycode._pyx1.call_function(<string>)
         at org.python.core.PyTableCode.call(PyTableCode.java)
         at org.python.core.PyCode.call(PyCode.java)
         at org.python.core.Py.runCode(Py.java)
         at org.python.core.Py.exec(Py.java)
    I'm very confused by it. Anybody give me a solution or related docs.
    Ethan.

    Hi ethan.....
    U always need a driver to be present inside ur <ODI installation directory>\drivers folder.....for both the target and the source......Because ojdbc14.jar is the driver for oracle already present inside the drivers folder ....we don't have to do anything for it.....But for Essbase ...you need a driver......If u haven't already done this.....try this.....
    Hope it helps...
    Regards
    Susane

  • Could not load application module 'oracle.apps.pos.supplier.server.SuppSumm

    hi
    when i create supplier in AP Super user,the supplier entry page got error:
    Could not load application module 'oracle.apps.pos.supplier.server.SuppSummAM',is there anyboay could help me? thanks a lot!
    metalink's solution is:
    -- To implement the solution, please execute the following steps::
    1. Using System Administrator Responsibility.
    2. Navigate to Profiles > System.
    3. Query for the Responsibility used and for Profile: MO: Operating Unit.
    4. Kindly check the value attached to the security profile: MO: Operating Unit.
    5. If security profile is not set, attach a value to it.
    6. Delete the Browser and Apache Cache. Restart the Apache.
    7. Re-test the issue again.
    but it didn't work!

    Did you ever figure this out? I'm encountering the same issue.
    Thanks.

  • Extract tables from "Oracle Apss 11.0.3" and load it to "Oracle Apps 11i"

    Hi hussein,
    I am tasked to extract the following tables from Oracle Apps 11.0.3 and load it to Oracle Apps 11.5.10.2.
    PO_VENDORS
    PO_VENDOR_SITES_ALL
    Can I use export / import?
    Thanks a lot

    Hi,
    I believe export/import of individual apps tables is not supported due to objects dependency and refrential integrity.
    Regards,
    Hussein

  • DBCA fails with java.lang.UnsatisfiedLinkError: Can't load library: /u01/oracle/prod/tech_st/product/11.2.0/db_1/oui/lib/linux/liboraInstaller.so Error in Oracle 11g

    Hi,
    After ORACLE 11G software installation i tried to change the ORACLE_HOME directory.
    OS : RHEL 4.5
    DB : 11.2.0
    Previous Home Location :
    [oracle@localhost ~]$ echo $ORACLE_HOME
    /u01/oracle/prod/tech_st/product/11.2.0/db_1
    Current Home Loc:
    [oracle@localhost ~]$ echo $ORACLE_HOME
    /u01/oracle/db/tech_st/product/11.2.0/db_1
    When i am trying the DBCA command i am getting the below error:
    [oracle@localhost ~]$ dbca
    java.lang.UnsatisfiedLinkError: Can't load library: /u01/oracle/prod/tech_st/product/11.2.0/db_1/oui/lib/linux/liboraInstaller.so
            at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1650)
            at java.lang.Runtime.load0(Runtime.java:769)
            at java.lang.System.load(System.java:968)
            at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:387)
            at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.<clinit>(OiipuUnixOps.java:122)
            at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.getEnv(OiipgEnvironment.java:201)
            at oracle.sysman.oii.oiip.oiipg.OiipgPropertyLoader.initUnixPtrFileLoc(OiipgPropertyLoader.java:212)
            at oracle.sysman.oii.oiip.oiipg.OiipgPropertyLoader.<clinit>(OiipgPropertyLoader.java:125)
            at oracle.sysman.oii.oiic.OiicStandardInventorySession.updateProperties(OiicStandardInventorySession.java:492)
            at oracle.sysman.oii.oiic.OiicStandardInventorySession.initSession(OiicStandardInventorySession.java:266)
            at oracle.sysman.oii.oiic.OiicStandardInventorySession.initSession(OiicStandardInventorySession.java:240)
            at oracle.sysman.oii.oiic.OiicStandardInventorySession.initSession(OiicStandardInventorySession.java:189)
            at oracle.sysman.assistants.util.InventoryUtil.getOUIInvSession(InventoryUtil.java:346)
            at oracle.sysman.assistants.util.InventoryUtil.getHomeName(InventoryUtil.java:87)
            at oracle.sysman.assistants.util.OracleHome.getInventoryHomeName(OracleHome.java:1023)
            at oracle.sysman.assistants.dbca.backend.Host.<init>(Host.java:798)
            at oracle.sysman.assistants.dbca.ui.UIHost.<init>(UIHost.java:257)
            at oracle.sysman.assistants.dbca.ui.InteractiveHost.<init>(InteractiveHost.java:54)
            at oracle.sysman.assistants.dbca.Dbca.getHost(Dbca.java:164)
            at oracle.sysman.assistants.dbca.Dbca.execute(Dbca.java:112)
            at oracle.sysman.assistants.dbca.Dbca.main(Dbca.java:184)
    Exception in thread "main" java.lang.UnsatisfiedLinkError: no oraInstaller in java.library.path
            at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
            at java.lang.Runtime.loadLibrary0(Runtime.java:822)
            at java.lang.System.loadLibrary(System.java:993)
            at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:405)
            at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.<clinit>(OiipuUnixOps.java:122)
            at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.getEnv(OiipgEnvironment.java:201)
            at oracle.sysman.oii.oiip.oiipg.OiipgPropertyLoader.initUnixPtrFileLoc(OiipgPropertyLoader.java:212)
            at oracle.sysman.oii.oiip.oiipg.OiipgPropertyLoader.<clinit>(OiipgPropertyLoader.java:125)
            at oracle.sysman.oii.oiic.OiicStandardInventorySession.updateProperties(OiicStandardInventorySession.java:492)
            at oracle.sysman.oii.oiic.OiicStandardInventorySession.initSession(OiicStandardInventorySession.java:266)
            at oracle.sysman.oii.oiic.OiicStandardInventorySession.initSession(OiicStandardInventorySession.java:240)
            at oracle.sysman.oii.oiic.OiicStandardInventorySession.initSession(OiicStandardInventorySession.java:189)
            at oracle.sysman.assistants.util.InventoryUtil.getOUIInvSession(InventoryUtil.java:346)
            at oracle.sysman.assistants.util.InventoryUtil.getHomeName(InventoryUtil.java:87)
            at oracle.sysman.assistants.util.OracleHome.getInventoryHomeName(OracleHome.java:1023)
            at oracle.sysman.assistants.dbca.backend.Host.<init>(Host.java:798)
            at oracle.sysman.assistants.dbca.ui.UIHost.<init>(UIHost.java:257)
            at oracle.sysman.assistants.dbca.ui.InteractiveHost.<init>(InteractiveHost.java:54)
            at oracle.sysman.assistants.dbca.Dbca.getHost(Dbca.java:164)
            at oracle.sysman.assistants.dbca.Dbca.execute(Dbca.java:112)
            at oracle.sysman.assistants.dbca.Dbca.main(Dbca.java:184)
    [oracle@localhost ~]$
    I tried all possible ways with google help but still i am facing the same issue.Kindly check and suggest to solve the issue.
    Thanks in advance.
    Vijay.

    Hi all,
    I give you the clear details about the issue what i am currently facing,
    1. I installed the 11g (11.2.0) database alone(No EBS) in my local vmware machine.
    2. Created my ORACLE_HOME under /u01/oracle/prod/tech_st/product/11.2.0/db_1 directory after that i tried to change my home location from /u01/oracle/prod/tech_st/product/11.2.0/db_1 location to /u01/oracle/db/tech_st/product/11.2.0/db_1 location, like created /u01/oracle/db directory and moved files from /u01/oracle/prod location.
    3. I changed my bash_profile and exported home with the modified location also deregistered an old home and registered the new home.
    4. When i am issuing echo $ORACLE_HOME it is showing the current home location and ORACLE_SID is same what i created before.
    5. But when i am trying to create one more db using DBCA utility it is through the above error.
    Please suggest me is it possible to change the location after db creation or any extra steps i have to do for this issue.
    Thanks.

  • Require Help on Load Testing for Oracle Applications

    Hi,
    I have to do a Load Testing on Oracle Application 11i. I am not able to understand from where do I need to start.
    Could any one please help on this ?
    Ramu.

    The tool which I am using for this is "Oracle Application Testing Suite".
    Any help welcome !
    Ramu

  • API to load suppler in oracle apps 11.5.10.2

    Hi,
    Can anyone tell, is there any API to load supplier in oracle apps 11.5.10.2?
    Thanks In Advance,
    RR

    Hi All,
    I have got the API to load supplier, supplier sites and supplier contacts. API name is ap_po_vendors_apis_pkg.insert_new_vendor, ap_po_vendors_apis_pkg.insert_new_vendor_site and ap_po_vendors_apis_pkg.insert_new_vendor_contact. I am able to load supplier using that api but not able to load supplier sites. Code compiles successfully but does'nt add site to the supplier. My code is below -
    DECLARE
    l_vendor_site_id number;
    v_vendor_status varchar2(15);
    v_err_msg varchar2(3000);
    l_user_id NUMBER(10);
    l_resp_id NUMBER(10);
    l_appl_id NUMBER(10);
    BEGIN
    fnd_global.apps_initialize(29563,54351,200);
    /*Create supplier sites*/
    ap_po_vendors_apis_pkg.insert_new_vendor_site
    (x_vendor_site_id => l_vendor_site_id,
    x_status =>v_vendor_status,
    x_exception_msg => v_err_msg,
    p_vendor_site_code => 'KBC',
    p_vendor_id => 69349,
    p_org_id =>1198,
    p_address_line1 => '105,Milverton Avenue,',
    p_address_line2 =>null,
    p_address_line3 =>null,
    p_address_line4 =>null,
    p_city => 'Shanghai',
    p_state => null,
    p_zip => '200232',
    p_province =>null,
    p_county =>null,
    p_country => null,
    p_area_code =>null,
    p_phone =>null,
    p_fax_area_code =>null,
    p_fax =>null,
    p_email_address =>null,
    p_purchasing_site_flag => 'Y',
    p_pay_site_flag => 'Y',
    p_rfq_only_site_flag => 'N',
    p_source => null,
    p_what_to_import => null,
    p_commit_size => null);
    COMMIT;
    DBMS_OUTPUT.PUT_LINE('VENDOR SITE ID :'|| l_vendor_site_id||v_vendor_status||v_err_msg);
    EXCEPTION
    WHEN others then
    DBMS_OUTPUT.PUT_LINE('Errors :'||sqlerrm);
    END;
    Can any one tell what is wrong in it?
    Thanks,
    RR

  • Arabic Character while loading in to Oracle.

    Hi All,
    OWB config is as follows:
    OWB : 9.2
    Oracle 9i database.
    I am able to load Arabic characters from a source table to a target table
    using OWB mappings but when i try to load a flat file the characters get jumbled.
    My environment variables :--
    IN
    Database character set AR8ISO8859P6
    Database National character set AL16UTF16
    Database NLS_language AMERICAN
    Database NLS_territory America
    all settings obtained from v$nls_parameters
    ON Windows server
    in registry
    NLS_LANG = AMERICAN_AMERICA.AR8MSWIN1256
    I have tried changing the NLS_LANG in the registry to AR8ISO8859P6 but still
    the same results.
    Does OWB support Arabic character, by default at time of installation i must have selected American as language parameter?
    If ans to above query is 'Yes' & it i manage to set Language to Arabic what will be impact on other components e.g. OEM, OWM etc.
    Thanks in Advance.
    Regards,
    Vidyanand

    Vidyanand,
    OWB supports Arabic language to add support for objects translations in the repository (done via OWB Repository Assistant).
    OWB also supports data in any language that the database is configured for, as you could see by moving data from table to table with OWB mapping.
    I suspect the problem loading flat file is not with OWB. Can you try loading that same file with SQL*Loader? You can read more on the subject in "Handling Different Character Encoding Schemes" section of SQL*Loader reference (in "Oracle 9i Database Utilities").
    Nikolai

  • Open an Excel file to read and load it into Oracle - Oracle COM Automation

    Hello All,
    Please I need your help for this problem:
    I need to load Excel sheet data (read the data) and load it into Oracle database (insert into a table), the excel file created and has data before, and saved with xls format. and I need to do that using the Oracle® COM Automation (ordcom package). The examples I found open and create a new workbook and deletes the old saved data, so I need to open (edit) the sheet just for reading.
    I appreciate ans sample code to help me do that, Please help me out. This is very urgent.
    Thanks alot and best regards,
    Nabil

    For reading from Excel, there are some easy ways like Oracle Heterogenious Services. If you want to use COM then:
    My orawpcom.dll file exists in the directory C:\oracle\product\10.2.0\db_2\bin
    C:\oracle\product\10.2.0\db_2\bin>dir orawpco*.dll
    Volume in drive C is C_Drive
    Volume Serial Number is 8A93-1441
    Directory of C:\oracle\product\10.2.0\db_2\bin
    03/20/2006  05:06 PM            61,440 orawpcom.dll
    10/11/2006  03:20 PM            81,920 orawpcom10.dll
                   2 File(s)        143,360 bytes
                   0 Dir(s)  65,407,717,376 bytes free
    C:\oracle\product\10.2.0\db_2\bin>Information about my database version.
    SQL> /* My databaser version */
    SQL> SELECT * FROM v$version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
    PL/SQL Release 10.2.0.3.0 - Production
    CORE    10.2.0.3.0      Production
    TNS for 32-bit Windows: Version 10.2.0.3.0 - Production
    NLSRTL Version 10.2.0.3.0 - Production
    SQL> Preparing the user SCOTT for COM automation.
    Now, I will run comwrap.sql from scott user. I have edited the comwrap.sql to adjust my library path here:
    create library utils_lib as 'C:\oracle\product\10.2.0\db_3\bin\orawpcom.dll';Running comwrap.sql and ExcelSolution.sql .....
    SQL> conn scott@orclsb
    Enter password: *****
    Connected.
    SQL> @c:\comwrap.sql
    drop library utils_lib
    ERROR at line 1:
    ORA-04043: object UTILS_LIB does not exist
    Library created.
    drop package ORDCOM
    ERROR at line 1:
    ORA-04043: object ORDCOM does not exist
    drop TYPE OAArgTable
    ERROR at line 1:
    ORA-04043: object OAARGTABLE does not exist
    Type created.
    drop TYPE OAArgTypeTable
    ERROR at line 1:
    ORA-04043: object OAARGTYPETABLE does not exist
    Type created.
    drop function OAgetNumber
    ERROR at line 1:
    ORA-04043: object OAGETNUMBER does not exist
    Function created.
    drop function OAgetStr
    ERROR at line 1:
    ORA-04043: object OAGETSTR does not exist
    Function created.
    drop function OAgetBool
    ERROR at line 1:
    ORA-04043: object OAGETBOOL does not exist
    Function created.
    drop function OAsetNumber
    ERROR at line 1:
    ORA-04043: object OASETNUMBER does not exist
    Function created.
    drop function OAsetString
    ERROR at line 1:
    ORA-04043: object OASETSTRING does not exist
    Function created.
    drop function OAsetBoolean
    ERROR at line 1:
    ORA-04043: object OASETBOOLEAN does not exist
    Function created.
    drop function OAInvokeDouble
    ERROR at line 1:
    ORA-04043: object OAINVOKEDOUBLE does not exist
    Function created.
    drop function OAInvokeBoolean
    ERROR at line 1:
    ORA-04043: object OAINVOKEBOOLEAN does not exist
    Function created.
    drop function OAInvokeString
    ERROR at line 1:
    ORA-04043: object OAINVOKESTRING does not exist
    Function created.
    drop function OACreate
    ERROR at line 1:
    ORA-04043: object OACREATE does not exist
    Function created.
    drop function OADestroy
    ERROR at line 1:
    ORA-04043: object OADESTROY does not exist
    Function created.
    drop function OAGetLastError
    ERROR at line 1:
    ORA-04043: object OAGETLASTERROR does not exist
    Function created.
    drop function OAQueryMethods
    ERROR at line 1:
    ORA-04043: object OAQUERYMETHODS does not exist
    Function created.
    Package created.
    Package body created.
    SQL>
    SQL> @c:\ExcelSolution.sql
    drop package ORDExcel
    ERROR at line 1:
    ORA-04043: object ORDEXCEL does not exist
    Package created.
    Package body created.
    SQL>
    I have modified ORDExcel a little bit and renamed it as ORDExcelSB. You need this version for reading the excel.
    SQL> @C:\ExcelSolutionSB.sql
    Package dropped.
    Package created.
    Package body created.
    SQL> The actual code of ORDExcelSB (ExcelSolutionSB.sql) Is:
    set serveroutput on;
    drop package ORDExcelSB;
    CREATE PACKAGE ORDExcelSB AS
       /* Declare externally callable subprograms. */
       FUNCTION CreateExcelApplication(servername VARCHAR2) RETURN binary_integer;
       FUNCTION OpenExcelFile(filename VARCHAR2, sheetname VARCHAR2) RETURN binary_integer;
       FUNCTION CreateExcelWorkSheet(servername varchar2) return binary_integer;
       FUNCTION InsertData(range varchar2, data binary_integer, type varchar2) return binary_integer;
       FUNCTION InsertDataReal(range varchar2, data double precision, type varchar2) return binary_integer;
       FUNCTION GetDataNum(range varchar2) return binary_integer;
       FUNCTION GetDataStr(range varchar2) return varchar2;
       FUNCTION GetDataReal(range varchar2) return double precision;
       FUNCTION GetDataDate(range varchar2) return date;
       FUNCTION InsertData(range varchar2, data varchar2, type varchar2) return binary_integer;
       FUNCTION InsertData(range varchar2, data Date, type varchar2) return binary_integer;
       FUNCTION InsertChart(xpos binary_integer, ypos binary_integer, width binary_integer,
                                  height binary_integer, range varchar2, type varchar2) return binary_integer;
       FUNCTION SaveExcelFile(filename varchar2) return binary_integer;
       FUNCTION ExitExcel return binary_integer;
    END ORDExcelSB;
    CREATE PACKAGE BODY ORDExcelSB AS
       DummyToken          binary_integer;     
       applicationToken binary_integer:=-1;
       WorkBooksToken     binary_integer:=-1;
       WorkBookToken     binary_integer:=-1;
       WorkSheetToken     binary_integer:=-1;
       WorkSheetToken1     binary_integer:=-1;
       RangeToken          binary_integer:=-1;
       ChartObjectToken     binary_integer:=-1;
       ChartObject1          binary_integer:=-1;
       Chart1Token          binary_integer:=-1;
       i                    binary_integer;
       retNum               binary_integer;
       retReal               double precision;
       retStr               varchar2(255);
       retDate               DATE;
    error_src varchar2(255);
    error_description varchar2(255);
    error_helpfile varchar2(255);
    error_helpID binary_integer;
    FUNCTION CreateExcelApplication(servername VARCHAR2) RETURN binary_integer IS
      BEGIN
        dbms_output.put_line('Creating Excel application...');
        i := OrdCOM.CreateObject('Excel.Application',
                                 0,
                                 servername,
                                 applicationToken);
        IF (i != 0) THEN
          ORDCOM.GetLastError(error_src,
                              error_description,
                              error_helpfile,
                              error_helpID);
          dbms_output.put_line(error_src);
          dbms_output.put_line(error_description);
          dbms_output.put_line(error_helpfile);
        END IF;
        dbms_output.put_line('Invoking Workbooks...');
        i := ORDCOM.GetProperty(applicationToken,
                                'WorkBooks',
                                0,
                                WorkBooksToken);
        IF (i != 0) THEN
          ORDCOM.GetLastError(error_src,
                              error_description,
                              error_helpfile,
                              error_helpID);
          dbms_output.put_line(error_src);
          dbms_output.put_line(error_description);
          dbms_output.put_line(error_helpfile);
        END IF;
        RETURN i;
      END CreateExcelApplication;
      FUNCTION OpenExcelFile(filename VARCHAR2, sheetname VARCHAR2)
        RETURN binary_integer IS
      BEGIN
        dbms_output.put_line('Opening Excel file ' || filename || ' ...');
        ORDCOM.InitArg();
        ORDCOM.SetArg(filename, 'BSTR');
        i := ORDCOM.Invoke(WorkBooksToken, 'Open', 1, DummyToken);
        IF (i != 0) THEN
          ORDCOM.GetLastError(error_src,
                              error_description,
                              error_helpfile,
                              error_helpID);
          dbms_output.put_line(error_src);
          dbms_output.put_line(error_description);
          dbms_output.put_line(error_helpfile);
        END IF;
        dbms_output.put_line('Opening WorkBook');
        i := ORDCOM.GetProperty(applicationToken,
                                'ActiveWorkbook',
                                0,
                                WorkBookToken);
        IF (i != 0) THEN
          ORDCOM.GetLastError(error_src,
                              error_description,
                              error_helpfile,
                              error_helpID);
          dbms_output.put_line(error_src);
          dbms_output.put_line(error_description);
          dbms_output.put_line(error_helpfile);
        END IF;
        dbms_output.put_line('Invoking WorkSheets..');
        i := ORDCOM.GetProperty(applicationToken,
                                'WorkSheets',
                                0,
                                WorkSheetToken1);
        IF (i != 0) THEN
          ORDCOM.GetLastError(error_src,
                              error_description,
                              error_helpfile,
                              error_helpID);
          dbms_output.put_line(error_src);
          dbms_output.put_line(error_description);
          dbms_output.put_line(error_helpfile);
        END IF;
        dbms_output.put_line('Invoking WorkSheet');
        ORDCOM.InitArg();
        ORDCOM.SetArg(sheetname, 'BSTR');
        i := ORDCOM.GetProperty(WorkBookToken, 'Sheets', 1, WorkSheetToken);
        IF (i != 0) THEN
          ORDCOM.GetLastError(error_src,
                              error_description,
                              error_helpfile,
                              error_helpID);
          dbms_output.put_line(error_src);
          dbms_output.put_line(error_description);
          dbms_output.put_line(error_helpfile);
        END IF;
        dbms_output.put_line('Opened ');
        RETURN i;
      END OpenExcelFile;
    * Invoke the Excel Automation Server and create a Workbook object as
    * well as a worksheet object
    FUNCTION CreateExcelWorkSheet(servername varchar2) return binary_integer IS
    BEGIN
         dbms_output.put_line('Creating Excel application...');
         i:=ORDCOM.CreateObject('Excel.Application', 0, servername,applicationToken);
         IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         dbms_output.put_line('Invoking Workbooks...');
         /*i:=ORDCOM.Invoke(applicationToken, 'WorkBooks',0, WorkBooksToken);*/
         i:=ORDCOM.GetProperty(applicationToken, 'WorkBooks', 0, WorkBooksToken);
         IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         dbms_output.put_line('Invoking Add to WorkBooks...');
         ORDCOM.InitArg();
         ORDCOM.SetArg(-4167,'I4');
         i:=ORDCOM.Invoke(WorkBooksToken, 'Add', 1, WorkBookToken);
    IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         dbms_output.put_line('Invoking WorkSheets..');
         ORDCOM.InitArg();
         ORDCOM.SetArg('Sheet 1','BSTR');
    /*     i:=ORDCOM.Invoke(applicationToken, 'WorkSheets', 1, WorkSheetToken);*/
    i:=ORDCOM.GetProperty(applicationToken, 'WorkSheets', 0, WorkSheetToken1);
    IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
    i:=ORDCOM.Invoke(WorkSheetToken1, 'Add', 0, WorkSheetToken);
    IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         return i;
    END CreateExcelWorkSheet;
    * Invoke the Range method to obtain a range token. Then set the property value
    * at the specified range to the data required
    FUNCTION InsertData( range varchar2,
                             data binary_integer,
                             type varchar2)
                             RETURN binary_integer IS
    BEGIN
         ORDCOM.InitArg();
         ORDCOM.SetArg(range, 'BSTR');
         i:=ORDCOM.GetProperty(WorkSheetToken, 'Range', 1, RangeToken);
         IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         i:=ORDCOM.SetProperty(RangeToken, 'Value', data, type);
         IF (i=0) THEN
               i:=ORDCOM.SetProperty(RangeToken, 'ColumnWidth', 15, 'I2');
         END IF;
         i:=ORDCOM.DestroyObject(RangeToken);
         RETURN i;
    END InsertData;
    * Invoke the Range method to obtain a range token. Then set the property value
    * at the specified range to the data required
    FUNCTION GetDataNum( range varchar2)
                             RETURN binary_integer IS
    BEGIN
         ORDCOM.InitArg();
         ORDCOM.SetArg(range, 'BSTR');
         i:=ORDCOM.GetProperty(WorkSheetToken, 'Range', 1, RangeToken);
         IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         i:=ORDCOM.GetProperty(RangeToken, 'Value', 0, retNum);
         IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         i:=ORDCOM.DestroyObject(RangeToken);
         RETURN retNum;
    END GetDataNum;
    FUNCTION GetDataReal( range varchar2)
                             RETURN double precision IS
    BEGIN
         ORDCOM.InitArg();
         ORDCOM.SetArg(range, 'BSTR');
         i:=ORDCOM.GetProperty(WorkSheetToken, 'Range', 1, RangeToken);
         IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         i:=ORDCOM.GetProperty(RangeToken, 'Value', 0, retReal);
         IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         i:=ORDCOM.DestroyObject(RangeToken);
         RETURN retReal;
    END GetDataReal;
    FUNCTION GetDataStr( range varchar2)
                             RETURN varchar2 IS
    BEGIN
         ORDCOM.InitArg();
         ORDCOM.SetArg(range, 'BSTR');
         i:=ORDCOM.GetProperty(WorkSheetToken, 'Range', 1, RangeToken);
         IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         i:=ORDCOM.GetProperty(RangeToken, 'Value', 0, retStr);
         IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         i:=ORDCOM.DestroyObject(RangeToken);
         RETURN retStr;
    END GetDataStr;
    FUNCTION GetDataDate( range varchar2)
                             RETURN Date IS
    BEGIN
         ORDCOM.InitArg();
         ORDCOM.SetArg(range, 'BSTR');
         i:=ORDCOM.GetProperty(WorkSheetToken, 'Range', 1, RangeToken);
         IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         i:=ORDCOM.GetProperty(RangeToken, 'Value', 0, retDate);
         IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         i:=ORDCOM.DestroyObject(RangeToken);
         RETURN retDate;
    END GetDataDate;
    FUNCTION InsertData( range varchar2,
                             data DATE,
                             type varchar2)
                             RETURN binary_integer IS
    BEGIN
         ORDCOM.InitArg();
         ORDCOM.SetArg(range, 'BSTR');
         i:=ORDCOM.GetProperty(WorkSheetToken, 'Range', 1, RangeToken);
         i:=ORDCOM.SetProperty(RangeToken, 'Value', data, type);
         i:=ORDCOM.DestroyObject(RangeToken);
         RETURN i;
    END InsertData;
    FUNCTION InsertDataReal( range varchar2,
                             data double precision,
                             type varchar2)
                             RETURN binary_integer IS
    BEGIN
         ORDCOM.InitArg();
         ORDCOM.SetArg(range, 'BSTR');
         i:=ORDCOM.GetProperty(WorkSheetToken, 'Range', 1, RangeToken);
         i:=ORDCOM.SetProperty(RangeToken, 'Value', data, type);
         i:=ORDCOM.DestroyObject(RangeToken);
         RETURN i;
    END InsertDataReal;
    FUNCTION InsertData( range varchar2,
                             data varchar2,
                             type varchar2)
                             RETURN binary_integer IS
    BEGIN
         ORDCOM.InitArg();
         ORDCOM.SetArg(range, 'BSTR');
         i:=ORDCOM.GetProperty(WorkSheetToken, 'Range', 1, RangeToken);
         i:=ORDCOM.SetProperty(RangeToken, 'Value', data, type);
         i:=ORDCOM.DestroyObject(RangeToken);
         RETURN i;
    END InsertData;
    * Insert a chart at the x and y position of the spreadsheet with the desired
    * height and width. Then also uses the ChartWizard to draw the graph with data
    * in a specified range area with a specified charting type.
    FUNCTION InsertChart(xpos binary_integer, ypos binary_integer,
                              width binary_integer, height binary_integer,
                              range varchar2, type varchar2) RETURN binary_integer IS
         charttype binary_integer:= -4099;
    BEGIN
         ORDCOM.InitArg();
         i:=ORDCOM.GetProperty(WorkSheetToken, 'ChartObjects', 0, ChartObjectToken);
         IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         ORDCOM.InitArg();
         ORDCOM.SetArg(xpos,'I2');
         ORDCOM.SetArg(ypos,'I2');
         ORDCOM.SetArg(width,'I2');
         ORDCOM.SetArg(height,'I2');
         i:=ORDCOM.Invoke(ChartObjectToken, 'Add', 4, ChartObject1);
         IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         i:=ORDCOM.GetProperty(ChartObject1, 'Chart', 0,Chart1Token);
         ORDCOM.InitArg();
         ORDCOM.SetArg(range, 'BSTR');
         i:=ORDCOM.GetProperty(WorkSheetToken,'Range', 1, RangeToken);
         ORDCOM.InitArg();
         ORDCOM.SetArg(RangeToken, 'DISPATCH');
         IF type='xlPie' THEN
              charttype := -4102;
         ELSIF type='xl3DBar' THEN
              charttype := -4099;
         ELSIF type='xlBar' THEN
              charttype := 2;
         ELSIF type='xl3dLine' THEN
              charttype:= -4101;
         END IF;
         ORDCOM.SetArg(charttype,'I4');
         i:=ORDCOM.Invoke(Chart1Token,'ChartWizard', 2, DummyToken);
         i:=ORDCOM.DestroyObject(RangeToken);
         i:=ORDCOM.DestroyObject(ChartObjectToken);
         i:=ORDCOM.DestroyObject(ChartObject1);
         i:=ORDCOM.DestroyObject(Chart1Token);
         RETURN i;
    END InsertChart;
    * Save the Excel File. WARNING: Do not specify a filename that already exist
    * since there is no graphical context, Oracle would not be able to pop
    * out a warning message for existing file. This causes Excel to hang
    FUNCTION SaveExcelFile(filename varchar2) return binary_integer IS
    BEGIN
         dbms_output.put_line('Saving Excel file...');
         ORDCOM.InitArg();
         ORDCOM.SetArg(filename,'BSTR');
         i:=ORDCOM.Invoke(WorkBookToken, 'SaveAs', 1, DummyToken);
         IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         RETURN i;     
    END SaveExcelFile;
    * Close the Excel spreadsheet and exit from it
    FUNCTION ExitExcel return binary_integer is
    BEGIN
         dbms_output.put_line('Closing workbook and quitting...');
         ORDCOM.InitArg();
         ORDCOM.InitArg();
         ORDCOM.SetArg(FALSE,'BOOL');
         dbms_output.put_line('Closing workbook...');
         i:=ORDCOM.Invoke(WorkBookToken, 'Close', 0, DummyToken);
         IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         i:=ORDCOM.DestroyObject(WorkBookToken);     
         ORDCOM.InitArg();
         dbms_output.put_line('Closing workbooks...');
         i:=ORDCOM.Invoke(WorkBooksToken, 'Close', 0, DummyToken);
         IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         i:=ORDCOM.DestroyObject(WorkBooksToken);
         i:=ORDCOM.Invoke(applicationToken, 'Quit', 0, DummyToken);
         IF (i!=0) THEN
         ORDCOM.GetLastError(error_src, error_description, error_helpfile, error_helpID);
         dbms_output.put_line(error_src);
         dbms_output.put_line(error_description);
         dbms_output.put_line(error_helpfile);
         END IF;
         i:=ORDCOM.DestroyObject(WorkSheetToken);     
         i:=ORDCOM.DestroyObject(WorkSheetToken1);     
         i:=ORDCOM.DestroyObject(applicationToken);
         i:=ORDCOM.DestroyObject(ChartObjectToken);
         i:=ORDCOM.DestroyObject(Chart1Token);
         i:=ORDCOM.DestroyObject(ChartObject1);
         i:=ORDCOM.DestroyObject(dummyToken);
         RETURN i;
    END ExitExcel;
    END ORDExcelSB;
    /I have created an excel named as C:\Example.xls.
    Name     SlNo     Job     Dept     Salary     Bonus
    Saubhik Banerjee     706090     IT Specialist     GBS     100     10
    Partha S Mohanty     706091     Pogrmmer     APPS     70     20
    Partha Sarkar     889300     Condultant     FIN     200     30
    Useless     98009     PM     PM     900     90
    SQL> SET SERVEROUT ON
    SQL> DECLARE
      2 
      3    v_Name          varchar2(90);
      4    v_SlNo          varchar2(100);
      5    v_Job           varchar2(200);
      6    v_Dept          varchar2(100);
      7    v_recon_remark  varchar2(50);
      8    v_sal_amt_usd   number;
      9    v_Bonus_amt_usd number;
    10 
    11    result INTEGER;
    12 
    13    i        binary_integer;
    14    filename varchar2(255);
    15 
    16  BEGIN
    17 
    18    filename := 'C:\Example.xls';
    19 
    20    result := ORDExcelSB.CreateExcelApplication('');
    21    result := ORDExcelSB.OpenExcelFile(filename, 'Sheet1');
    22 
    23    /* Excluding the header row and reading the first 5 row */
    24    FOR n in 2 .. 5 LOOP
    25   
    26      v_Name          := ORDExcelSB.GetDataStr('A' || n);
    27      v_SlNo          := ORDExcelSB.GetDataReal('B' || n);
    28      v_Job           := ORDExcelSB.GetDataStr('C' || n);
    29      v_Dept          := ORDExcelSB.GetDataStr('D' || n);
    30      v_sal_amt_usd   := ORDExcelSB.GetDataNum('E' || n);
    31      v_Bonus_amt_usd := ORDExcelSB.GetDataNum('F' || n);
    32   
    33      dbms_output.put_line(v_Name || '  ' || v_SlNo || '  ' || v_Job || '  ' ||
    34                           v_Dept || '  ' || v_sal_amt_usd || '  ' ||
    35                           v_Bonus_amt_usd);
    36   
    37    END LOOP;
    38 
    39    result := ORDExcelSB.ExitExcel();
    40  EXCEPTION
    41    WHEN OTHERS THEN
    42      result := ORDExcelSB.ExitExcel();
    43      RAISE;
    44  END;
    45  /
    Creating Excel application...
    Invoking Workbooks...
    Opening Excel file C:\Example.xls ...
    Opening WorkBook
    Invoking WorkSheets..
    Invoking WorkSheet
    Opened
    Saubhik Banerjee  706090  IT Specialist  GBS  100  10
    Partha S Mohanty  706091  Pogrmmer  APPS  70  20
    Partha Sarkar  889300  Condultant  FIN  200  30
    Useless  98009  PM  PM  900  90
    Closing workbook and quitting...
    Closing workbook...
    Closing workbooks...
    PL/SQL procedure successfully completed.
    SQL> Although, You haven't asked, but you can use this code to write to excel file (.xls)
    DECLARE
    CURSOR c1 IS     
         SELECT empno, ename, dname, sal, hiredate
         FROM emp e, dept d
         WHERE e.deptno = d.deptno;
    error_message varchar2(1200);
    n binary_integer:=2;
    i binary_integer;
    filename varchar2(255);
    cellIndex varchar2(40);
    cellValue varchar2(40);
    cellColumn varchar2(10);
    returnedTime varchar2(20);
    currencyvalue double precision;
    datevalue DATE;
    empno binary_integer;
    looptext varchar2(20);
    error_src varchar2(255);
    error_description varchar2(255);
    error_helpfile varchar2(255);
    error_helpID binary_integer;
    begin
    filename:='c:\example2.xls';
    i:=ORDExcel.CreateExcelWorkSheet('');
    i:=ORDExcel.InsertData('A1', 'EmpNo', 'BSTR');
    i:=ORDExcel.InsertData('B1', 'Name', 'BSTR');
    i:=ORDExcel.InsertData('C1', 'Dept', 'BSTR');
    i:=ORDExcel.InsertData('D1', 'Salary', 'BSTR');
    i:=ORDExcel.InsertData('E1', 'HireDate', 'BSTR');
    For c1_rec IN c1 LOOP
    cellColumn:=TO_CHAR(n);
    cellIndex:=CONCAT('A',cellColumn);
    cellValue:=TO_CHAR(c1_rec.empno);
    empno:=cellValue;
    i:=ORDExcel.InsertData(cellIndex, empno, 'I2');
    cellIndex:=CONCAT('B',cellColumn);
    cellValue:=c1_rec.ename;
    i:=ORDExcel.InsertData(cellIndex, cellValue, 'BSTR');
    cellIndex:=CONCAT('C',cellColumn);
    cellValue:=c1_rec.dname;
    i:=ORDExcel.InsertData(cellIndex, cellValue, 'BSTR');
    cellIndex:=CONCAT('D',cellColumn);
    cellValue:=c1_rec.sal;
    currencyValue:=cellValue;
    i:=ORDExcel.InsertData(cellIndex, currencyValue, 'CY');
    cellIndex:=CONCAT('E',cellColumn);
    dateValue:=c1_rec.hiredate;
    i:=ORDExcel.InsertData(cellIndex, dateValue, 'DATE');
    n:=n+1;
    END LOOP;
    i:=ORDExcel.SaveExcelFile(filename);
    i:=ORDExcel.ExitExcel();
    EXCEPTION
    WHEN OTHERS THEN
      i:=ORDExcel.ExitExcel();
      RAISE;
    END;

  • Failed to load Main Class: oracle.sysman.emSDK.conf.TargetInstaller

    After upgrading from 10.2.0.2 to 10.2.0.4, I am unable to run any Console commands. The errors I get are as follows:
    l1eddb01:L1CORP > emctl status dbconsole
    Failed to load Main Class: oracle.sysman.emSDK.conf.TargetInstaller
    Failed to load Main Class: oracle.sysman.emSDK.conf.TargetInstaller
    Failed to load Main Class: oracle.sysman.emSDK.conf.TargetInstaller
    OC4J Configuration issue. /opt/oracle/edmdb/product/10.2.0.4/oc4j/j2ee/OC4J_DBConsole__L1CORP not found.
    l1eddb01:L1CORP >
    Does anyone have any idea what happened during the upgrade that would have caused emctl, emca, etc. commands to stop working?

    Don't know why it has not re-created the OC4J container.
    Do you have anything in /opt/oracle/edmdb/product/10.2.0.4/oc4j/j2ee/
    Have you tried re-creating it?
    ./emca -config dbcontrol db
    If not try re-running dbua.

  • How to list the JAR files loaded into the Oracle Database ?

    How to list the JAR files loaded into the Oracle Database ?

    From 11.1 onwards, the below two views are available to identify the jar files loaded into the Database.
    JAVAJAR$
    JAVAJAROBJECTS$
    By querying the JAVAJAR$ view you can know information about the JAR files loaded into the Database and using JAVAJAROBJECTS$ view you can find all the java objects associated with the given JAR file.
    These views are populated everytime you use LOADJAVA with "-jarsasdbobjects" option to load your custom java classes.
    But unfortunately this feature is available only from 11.1 onwards and there is no clear workaround for above in 10.2 or earlier.

  • XSQL-022: Cannot load serializer class oracle.xml.xsql.serializers.fop203

    Hi,
    I' have used Tomcat 4.0.3 with XSQL Servlet 9.2 for about a half year. All is working fine. When I now change to 4.1.18 the most things are also working fine. The are to problems:
    1. I have to save the XSQLConfig.xml in a jar file.
    2. My fop serializer doesn't work any longer. I'm getting all the time the following error: XSQL-022: Cannot load serializer class oracle.xml.xsql.serializers.fop203.
    I'm using the XDK 9.2.0.4 with jsdk 1.4.1 and tomcat 4.1.18 on Redhat Linux.
    Has anyone had have the same problem? Has anyone a solution for this problem?
    Regards
    Uwe

    Does the XSQLSampleSerializer exhibit the same problem?
    That is, can we rule out the fact that it's related at all to FOP?
    If you browse the following page, does it work?
    <?xml version="1.0"?>
    <?xml-stylesheet serializer="java:oracle.xml.xsql.serializers.XSQLSampleSerializer"?>
    <foo-with-java/>This sample serializer should be in your xsqlserializers.jar file.

Maybe you are looking for

  • How to move one screen to another screen Webdynpro ?

    Hi, How to move from one screen to another screen Webdypro ? Best Regards, Kishore

  • Contract - problem with attachements (empty field in LOIO_OBJID)

    Hi Guys, We are using extended classic scenario of SRM 4.0 (SRM Server 500) and our latest support package is SAPKIBKS12. We have the following problem with contracts. Sometimes when an attachment is added to a contract the system does not fill the f

  • How can I enable my disabled Ipod Touch 1g

    How  can I enable my disabled Ipod Touch 1g? Thank You

  • Restoring iTunes Backup Error

    I have 8 DVDs of a backup I did on my PC before I restored it. iTunes will backup the first DVD fine. When I put in my second DVD, I get the error "unknown error occurred (-69)". Also if I try to load the disc later, iTunes just freezes up until I ej

  • Portable Hard Disk Drive

    Hi All, I am in the market to purchase a Portable Hard Disk Drive, as I had purchased an EZQ drive that is now DOA. I am interested in the LaCie Rugged line, but I was looking for more storage space for a good price. Any suggestions or help would be