Loading table from Access, Excel or CSV file

Hi,
I would like to know the mechanism of loading a table from an external source such as Access table, Excel sheet, text file containing comma/tab delimited values.
Can you please indicate me the basic steps to prepare the extraction of the source data and next how to load this data into a target Oracle table?
Thanks very much in advance.

If you are using a windows based Oracle server you can locate your files on the server and set them up as external databases using Oracles Heterogeneous Services (HS)... e.g. with Excel workbook...
1- Go to Control Panel>Administrative Tools>Data Sources (ODBC)>System DSN and create a data source with appropriate driver. Name it EXCL.
2- In %ORACLE_HOME%\Network\Admin\Tnsnames.ora fie add entry:
EXCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.12.0.24)(PORT = 1521))
(CONNECT_DATA =
(SID = EXCL)
(HS = OK)
Here SID is the name of data source that you have just created.
3- In %ORACLE_HOME%\Network\Admin\Listener.ora file add:
(SID_DESC =
(PROGRAM = hsodbc)
(SID_NAME = <hs_sid>)
(ORACLE_HOME = <oracle home>)
under SID_LIST_LISTENER like:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = d:\ORA9DB)
(PROGRAM = extproc)
(SID_DESC =
(GLOBAL_DBNAME = ORA9DB)
(ORACLE_HOME = d:\ORA9DB)
(SID_NAME = ORA9DB)
(SID_DESC =
(PROGRAM = hsodbc)
(SID_NAME = EXCL)
(ORACLE_HOME = D:\ora9db)
Dont forget to reload the listener
c:\> lsnrctl reload
4- In %ORACLE_HOME%\hs\admin create init<HS_SID>.ora. For our sid EXCL we create file initexcl.ora.
In this file set following two parameters:
HS_FDS_CONNECT_INFO = excl
HS_FDS_TRACE_LEVEL = 0
5- Now connect to Oracle database and create database link with following command:
SQL> CREATE DATABASE LINK excl
2 USING 'excl'
3 /
Database link created.
Now you can perform query against this database like you would for any remote database.
SQL> SELECT table_name FROM all_tables@excl;
TABLE_NAME
DEPT
EMP
With MS Access you are already dealing with a database so the structure is not a problem. If you treat Excel workbooks as a database then they have to conform to a certain layout e.g. each worksheet is in effect a table with the name of the table taken from the worksheet name (be aware that Excel allows 32 characters for sheet names, but Oracle requires no more than 30), on each sheet the first row must contain the column names and all subsequent rows contain the data.
;)

Similar Messages

  • How to import data from excel or csv files to Oracle table

    hello everybody,
    I am new here and new in Oracle. I would like to know the steps how to import data from excel or csv files to Oracle table.
    Let say I already have table inside the Oracle. Then my user give me the sets of data inside the Excel Worksheet.
    So, how can I import the excel data into Oracle table.
    Thank you in advance.
    cheers,
    shima

    Even easier. Download JDeveloper 11G from this site.
    Set up the database connection, right click on the table, select Import->Excel and specify your file to load it. On the import pop-up, you must view and update each tab indicating Columns, Data Types, and DML.
    Columns -- move the selected columns that you want to load to the box on the right
    Data Types -- select column name from second column to which the data for each column of the import file should load
    DML -- click this tab to generate the INSERT SQL
    Once done click 'Insert'

  • Load prompt values from Excel or CSV files?

    Hello all,
    We have report and users want to upload filters to prompts on the reports from excel or csv files. They cannot enter one by one because they some times have hundereds of values (customer numbers) to filter. Is there a way to do that? If it is then how is it possible?
    Thanks a lot.

    Hello Zahid,
    It is currently possible to create a relational multi-source universe with one data provider to an Excel document.
    for this to work for Web Intelligence the 62 bit drivers must be installed on the Webi Server for Excel.
    Here is a link to the kbase
    https://service.sap.com/sap/support/notes/1828466
    Also here is a link to the Information Design Tool Guide for how to create a multi-source universe:
    http://service.sap.com/sap/support/notes/1898185
    One of the new features in BI 4.0 is creating a list of values on a Table or custom SQL.
    also, here is the link to the available tutorials:
    Official Product Tutorials – SAP BusinessObjects Business Intelligence Platform 4.x
    Scroll down to the information design tool.
    Hope this helps!
    Jacqueline

  • I need how to load data from MS Excel(csv format) to NW Excel

    Hi,
    I am doing Migration project from SAP MS to NW Manually.
    I need how to load data from MS excel (csv format) to NW excel .
    For example 2008 budget data.
    Could you please help me in this.
    Thanks and Regards
    Krishna

    Hi,
    You need to create a transformation file and a conversion file if required. First upload the excel (csv) file into BPC using Manage Data and Upload File option.
    Create the transformation file (refer to the sap help  on how to define a transformation file). You need to specify the mapping correctly and include all your application dimensions and map them to appropriate columns of the flat file.
    Before running the import package, do validate the data in the flat file you uploaded into BPC with the transformation file you created.
    Thanks,
    Sreeni

  • Create a table in SQL Server, Export tables from Microsoft Excel to Microsoft SQL Server, Populate the created table

    Hello team,
    I have a project that I need to do, what is the best approach for each step?
    1- I have to create a table in Microsoft SQL Server.
    2- I have to import data/ tables from Microsoft Excel or Access to Microsoft SQL Server. Should I use Microsoft Visual Studio to move data from Excel or Access?
    3-I should populate the created table with the data from the exported data.
    4-How should I add the second and third imported table to the first table? Should I use union query?
    After I learn these, I will bring up the code to make sure what I do is right.
    Thanks for all,
    Guity
    GGGGGNNNNN

    Hello Naomi,
    I have imported all the tables into SQL Server,
    I created a table:
    CREATE
    TABLE dbo.Orders
    Now I want to populate this table with the values from imported tables, will this code take care of this task?
    INSERT INTO dbo.Orders(OrderId, OrderDate)
    SELECT OrderId, OrderDate
    FROM Sales.Orders
    UNION
    SELECT OrderId, OrderDate
    FROM Sales.Orders1
    Union
    SELECT OrderId, OrderDate
    FROM Sales.Orders2
    If not, what is the code?
    Please advise me.
    GGGGGNNNNN
    GGGGGNNNNN

  • SQlldr Error while uploading "excel" or "csv" file.

    Hello to community,
    We are using Oracle AS(application Server) 10g as a "web Server" & "database Server"
    The Database Server is having an NFS Partition,which has mounted onto "Web Server"
    So, if any client tried to upload any excel OR csv file , the Web Server will redirect that file data onto "database" server" through NFS partition.
    By clicking "upload" button from client end, they are getting a strange error. By checking "ias_console" log file, I have found below latest logs,which belongs to the error. Kindly let me know where is the problem coming from.
    The Database Server Shared NFS partition name is "web_upload" & we have same "web_upload" partition on the "web server". The command of mounting NFS partition is given below.
    On AIX web Server :- mount <ip address>:/file_data/web_upload/ /web_upload/
    SYNTAX :- <ip add of db server>/mount point "web server mount point"
    The error is as given below.
    09/06/09 15:27:47 NumIdle: 2
    09 Jun 2009 15:27:47,764 [DEBUG] - [ com.vat.website.service.DatabaseService ] [ private Connection getDBConnection() ] Exited
    09 Jun 2009 15:27:47,764 [DEBUG] - [ com.vat.website.service.DatabaseService ] [ private Connection getDBConnection() ] Exited
    09 Jun 2009 15:27:47,766 [DEBUG] - [ com.vat.website.service.DatabaseService ] [ private void initialize() ] After getDBConnection called,
      connection object is: org.apache.commons.dbcp.PoolableConnection@1048a893
    09 Jun 2009 15:27:47,767 [DEBUG] - [ com.vat.website.service.ExcelUploadService ] [ public boolean insertFileDetails(ExcelDataBean databean,String
      strFname) ] strUniqueKey:select  web_uploaded_file_history_seq.nextval from dual
    09 Jun 2009 15:27:47,767 [DEBUG] - [ com.vat.website.service.DatabaseService ] [ public ResultSet executeQuery(String strQuery) ] Entered
    09 Jun 2009 15:27:47,773 [DEBUG] - [ com.vat.website.service.DatabaseService ] [ public ResultSet executeQuery(String strQuery) ] Exited
    09 Jun 2009 15:27:47,774 [DEBUG] - [ com.vat.website.service.ExcelUploadService ] [ public boolean insertFileDetails(ExcelDataBean databean,String
      strFname) ] insertQuery:INSERT INTO WEB_UPLOADED_FILE_HISTORY(WUF_SERIAL_NUMBER,WUF_DEALER_ID,WUF_PERIOD_FROM,WUF_PERIOD_TO,WUF_FILE_PATH,WUF_FORM_NO,WUF_SERVER_IP,WUF_UPLOAD_YN,WUF_CREATED_DATE,WUF_CREATED_BY,WUF_ORIGINAL_REVISED,WUF_SHEETS_NUMBER,wuf_reco
      d_key)VALUES('2658271','T00100001000306',to_date('01/01/2009','dd/mm/yyyy'),to_date('31/01/2009','dd/mm/yyyy'),'/web_upload/090609/VAT
      Returns/000000/0000000000/Form201/0000000000_0T201BO0109_009062009152747.csv',replace(decode('T201B','T201M', 'T201','T201B'),'T','VAT-Form'),(select
      RPAD(sys_context('USERENV','IP_ADDRESS'),15,' ') AS client_ipaddress from dual),'Y',SYSDATE,'WEB','O','0','3317063')
    09 Jun 2009 15:27:47,791 [DEBUG] - [ com.vat.website.service.DatabaseService ] [ public void closeDBConnection() ] Entered
    09 Jun 2009 15:27:47,791 [DEBUG] - finalDate:01-JAN-2009
    09 Jun 2009 15:27:47,792 [DEBUG] - finalDate:31-JAN-2009
    09 Jun 2009 15:27:47,806 [DEBUG] - [ com.vat.website.utils.PropertyCache ] [ static Object getValue(String propertyName, String propertyFileName)
      ] Entered
    09 Jun 2009 15:27:47,806 [DEBUG] - [ com.vat.website.utils.PropertyCache ] [ static Object getValue(String propertyName, String propertyFileName)
      ] Entered
    09 Jun 2009 15:27:47,806 [DEBUG] - [ com.vat.website.utils.PropertyCache ] [ static Object getValue(String propertyName, String propertyFileName)
      ] Entered
    09 Jun 2009 15:27:47,806 [DEBUG] - [ com.vat.website.action.UploadAction ] [ public ActionForward submit(ActionMapping mapping, ActionForm
      form,HttpServletRequest request, HttpServletResponse response) ] Executing: sqlldr parfile=parafile.par silent=feedback direct=Y at location:
      /web_upload/090609/VAT Returns/000000/0000000000/Form201/SQLLdr
    It seems that this problem is due to "Sqlldr" then how to troubleshoot this problem?
    Waiting for your favorable response,
    Advanced Thanks,
    Nishith Vyas.

    Flat File was in error.

  • Help me in creating a Device Collection - i have a list of machine name (in a excel or CSV file)

    Hello Guys,
    I have created a Device collection for UK region (2000+ machines)
    Now i have been given a list of 1000 machines to which i need to deploy an application.
    I have to create a device collection for this 1000+ machines. as an input i have a excel or CSV file with a list of machine names.
    Please suggest me how can i create a device collection with CSV file as input. Is my CSV file should be in particular format.
    Or is there any other way i can create a collection for this 1000 specific machines.
    Please suggest.

    My previous post was for sccm 2012.
    here its for 2007
    In the Operating System Deployment section of SCCM right click on Computer Association and choose
    Import Computer Information
    when the wizard appears select Import Computers using a file
    The file itself must contain the information we need in this (CSV) format
    COMPUTERNAME,GUID,MACADDRESS
    (sample below)
    Quote
    deployvista,3ED92460-0448-6C45-8FB8-A60002A5B52F,00:03:FF:71:7D:76
    NEWCOMP1,55555555-5555-5555-5555-555555555555,05:06:07:08:09:0A
    NEWPXE,23CA788C-AF62-6246-9923-816CFB6DD39F,00:03:FF:72:7D:76
    w2k8deploy,BFAD6FF2-A04E-6E41-9060-C6FB9EDD4C54,00:03:FF:77:7D:76
    if we look at the last line, I've marked the computer name in Red, the GUID in BLUE and the MAC address in GREEN, separate these values with commas as above.
    w2k8deploy,BFAD6FF2-A04E-6E41-9060-C6FB9EDD4C54,00:03:FF:77:7D:76
    the file can be a standard TEXT file that you create in notepad, and you can rename it to CSV for easier importing into our wizard...
    so, click on Browse and browse to where you've got your CSV file
    on the Choose Mapping screen, you can select columns and define what to do with that mapping, eg: you could tell it to ignore the GUID value (we won't however)
    on the next screen you'll see a Data Preview, and this is useful as it will highlight any errors it finds with a red exclamation mark, in the example below a typo meant that it correctly flagged the MAC address as invalid
    so edit your CSV file again and fix the error, click previous (back) and try again
    Next choose the target collection where you want these computers to end up in
    review the summary
    in SCCM collections, we can now see the computers we've just imported from File,
    Enjoy
    Nikkoscy

  • Parsing Excel's CSV file in PL/SQL

    Someone may need this...
    This procedure parses a line of Excel's CSV file into a PL/SQL table's elements.
    FUNCTION func_split_csv (p_string IN VARCHAR2)
    RETURN gt_tbltyp_strings
    IS
    * NAME: func_split_csv
    * PURPOSE: Split the passed Excel's CSV strings into tokens.
    * Returns PL/SQL table of strings.
    * REVISIONS:
    * Author Date Description
    * S.Stadnik 12/12/07 Initial
    * PARAMETERS
    * INPUT : p_string - String to be tokenized
    * OUTPUT : None.
    * RETURNS: PL/SQL table of strings.
    TYPE gt_tbltyp_strings IS TABLE OF VARCHAR2(32000) INDEX BY BINARY_INTEGER;
    -- Local constants
    c_str_proc_nme CONSTANT VARCHAR2(100) := gc_str_package_nme||'.func_split_csv';
    -- Local Variables
    v_int_location PLS_INTEGER;
    v_tab_tokens gt_tbltyp_strings;
    v_str_token VARCHAR2(32000);
    v_str_char VARCHAR2(1);
    v_int_table_pos PLS_INTEGER := 1;
    v_int_idx PLS_INTEGER := 1;
    b_bln_open_quote BOOLEAN := FALSE; -- Flag, indicating that double-quote is opened
    BEGIN
    v_int_location := 0;
    -- Is the string is empty, return an empty table
    IF p_string IS NULL THEN
    RETURN v_tab_tokens;
    END IF;
    -- If the string does not contain delimiters, return the whole string
    IF InStr(p_string, ',', 1) = 0 THEN
    v_tab_tokens(v_int_table_pos) := p_string;
    RETURN v_tab_tokens;
    END IF;
    -- Loop thru all the characters
    WHILE v_int_idx <= Length (p_string) LOOP
    v_str_char := SubStr(p_string, v_int_idx, 1);
    CASE v_str_char
    -- Double quote encoutered (special case)
    WHEN '"' THEN
    -- If no double-quote was opened, this is an opening quote
    IF b_bln_open_quote = FALSE THEN
    b_bln_open_quote := TRUE;
    -- '""' translates to '"'
    ELSIF SubStr(p_string, v_int_idx + 1, 1) = '"' THEN
    v_str_token := v_str_token || '"';
    v_int_idx := v_int_idx + 1;
    -- If double-quote was opened, this is a closing quote
    ELSIF b_bln_open_quote = TRUE THEN
    b_bln_open_quote := FALSE;
    END IF;
    -- Coma encoutered (special case)
    WHEN ',' THEN
    -- If double-quote was opened, this is part of the string
    IF b_bln_open_quote = TRUE THEN
    v_str_token := v_str_token || ',';
    -- If double-quote was not opened, this is a delimiter, save the string
    ELSE
    v_tab_tokens(v_int_table_pos) := v_str_token;
    v_str_token := '';
    v_int_table_pos := v_int_table_pos + 1;
    END IF;
    -- Any other character is passed into the string
    ELSE
    v_str_token := v_str_token || v_str_char;
    END CASE;
    v_int_idx := v_int_idx + 1;
    END LOOP;
    -- If final token lenght is non-zero after we processed all the characters,
    -- OR if the last character of the source string is ','
    -- Add the final token into the table
    IF Length(v_str_token) != 0
    OR SubStr(p_string, -1, 1) = ',' THEN
    v_tab_tokens(v_int_table_pos) := v_str_token;
    END IF;
    RETURN v_tab_tokens;
    EXCEPTION
    WHEN OTHERS THEN
    -- Put your favourite error handler in here
    END func_split_csv;

    Yes, I agree.
    That was written for a particular case:
    - When the CSV file is an Excel's file,
    - When it is impossible to put the file onto the DB server, so we couldn't use external tables, and the whole contents had to be passed as a CLOB parameter.

  • Ssrs 2008 export to excel and csv file

    In a ssrs 2008 report, the user will export data to PDF, excel, and CSV files. When the report is exported to excel or csv file, the user wants me to hide some tablixes. Thus can you show me code on how to export the reports to csv or excel file without
    and be able to hide a few tablixes?

    Hi jazz_dog,
    According to your description, you want to set the visibility for some tablixes based on the exporting file type. Right?
    In Reporting Services 2008, we don't have any parameter to get type of exporting file. So we can only create a parameter and select a type before exporting to a file. Then use conditional expression to control the visibility. It's definitely not a good workaround,
    so your goal can't be achieved in Reporting Services 2008. However, for Reporting Service 2008R2 or later version, we have a build-in parameter called Render Format Name, this parameter will display the type of exporting file automatically. So we can make
    the judgment in expression based on the value of this parameter.
    Reference:
    Built-in Globals and Users References (Report Builder and SSRS)
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou

  • How To Split Large Excel or CSV Files into Smaller Files

    Does anyone know how to split a large Excel or CSV file into multiple smaller files?  Or, is there an app that will work with Mac to do that?

    split [-a suffix_length] [-b byte_count[k|m]] [-l line_count] [-p pattern] [file [name]]
    is a native Terminal command. Read up more on https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/ man1/split.1.html
    I prefer to use gSplit which is gnu coreutils.
    You can install gnu coreutils using homebrew.

  • How to Read excel or .csv files in java

    I am writing a program which takes input as excel or .csv file.
    How to read these files.
    Any API's are existed or need to use the third party jar.
    Please suggest me.
    Thanks & Regards

    Did you search in google? Did you search here? There are so many excel related questions here, including answers about third party libraries.
    I have the impression that you didn't research at all.
    _[How to ask questions|http://faq.javaranch.com/view?HowToAskQuestionsOnJavaRanch]_ It's the same here.

  • Need to Download Smartform Data from OTF format to CSV file

    Hi,
      I need to download smartform data from OTF format to CSV file. Is there any Function module to download Smartform data from
      OTF format to CSV file.
    Regards,
    Selvapriya S.

    Not that I know of.  There is a lot of data in the OTF file besides the field values you are printing (formats, headers. positions, fonts, etc).
    You might be able to use the CONVERT_OTF function module and take the default format of 'ASCII'.  Once it is converted to an ASCII data format, you might be able to write some ABAP code to strip off the extraneous data and parse the fields you need.

  • Error while loading table from flat file (.csv)

    I have a flat file which i am loading into a Target Table in Oracle Warehouse Builder. It uses SQL Loader Internally to load the data from flat file, I am facing an issue. Please find the following error ( This is an extract from the error log generated)
    SQL*Loader-500: Unable to open file (D:\MY CURRENT PROJECTS\GEIP-IHSS-Santa Clara\CDI-OWB\Source_Systems\Acquisition.csv)
    SQL*Loader-552: insufficient privilege to open file
    SQL*Loader-509: System error: The data is invalid.
    SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
    I believe that this is related to SQL * Loader error.
    ACtually the flat file resides in my system ( D:\MY CURRENT PROJECTS\GEIP-IHSS-Santa Clara\CDI-OWB\Source_Systems\Acquisition.csv). I am connecting to a oracle server.
    Please suggest
    Is it required that i need to place the flat file in Oracle Server System ??
    Regards,
    Ashoka BL

    Hi
    I am getting an error as well which is similar to that described above except that I get
    SQL*Loader-500: Unable to open file (/u21/oracle/owb_staging/WHITEST/source_depot/Durham_Inventory_Labels.csv)
    SQL*Loader-553: file not found
    SQL*Loader-509: System error: The system cannot find the file specified.
    SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
    The difference is that Ashoka was getting
    SQL*Loader-552: insufficient privilege to open file
    and I get
    SQL*Loader-553: file not found
    The initial thought is that the file does not exist in the directory specified or I have spelt the filename incorrectly it but this has been checked and double checked. The unix directory also has permission to read and write.
    Also in the error message is
    Control File: C:\u21\oracle\owb_staging\WHITEST\source_depot\INV_LOAD_LABEL_INVENTORY.ctl
    Character Set WE8MSWIN1252 specified for all input.
    Data File: /u21/oracle/owb_staging/WHITEST/source_depot/Durham_Inventory_Labels.csv
    Bad File: C:\u21\oracle\owb_staging\WHITEST\source_depot\Durham_Inventory_Labels.bad
    As can be seen from the above it seems to be trying to create the ctl and bad file on my c drive instead of on the server in the same directory as the .csv file. The location is registered to the server directory /u21/oracle/owb_staging/WHITEST/source_depot
    I am at a lost as this works fine in development and I have just promoted all the development work to a systest environment using OMBPlus.
    The directory structure in development is the same as systest except that the data file is /u21/oracle/owb_staging/WHITED/source_depot/Durham_Inventory_Labels.csv and everything works fine - .ctl and .bad created in the same directory and the data sucessfully loads into a oracle table.
    Have I missed a setting in OWB during the promotion to systest or is there something wrong in the way the repository in the systest database is setup?
    The systest and development databases are on the same box.
    Any help would be much appreciated
    Thanks
    Edwin

  • Loading data from an excel file to Oracle Tables

    Hi Everyone,
    Once again I will have to bring some data from some excel file, which I have already done and "know" how to do and I would like to confirm with you all something first.
    What I shall do is the following:
    From one excel workbook file which has a lot of info just in one spread sheet feed some tables with the data coming from it.
    So what I have though is create mane name ranges (Define names on excel) as I need and work with them, but I will be facing with headers on the rows and columns. There is where I doubt if it will be possible. So far, I will not be able to modify the Excel’s file structure.
    Something more or less like this:
    Country1 Country 2
    Sales1 9999999 9999999
    Sales2 9999999 9999999
    Sales3 9999999 9999999
    Total123 9999999 9999999
    Sales4 9999999 9999999
    Sales5 9999999 9999999
    Sales6 9999999 9999999
    Total456 9999999 9999999
    Best regards.
    Jaison

    Hi SH,
    First of all, I do really appreciate your time, patience and guidance.
    Ok, let me get this straight.
    You will need to create a data server for each Excel Work book
    That means that as I will just work with one excel sheet, I will just have one data server and within it, there will be the spread sheets (excel tabs) and therefore the different named ranges.
    Each of your named ranges will be a data store beneath the data server which can be used as a source model in your ODI interfaces. Therefore if you have a single workbook with 12 sheets for the months, each covered by a single named range, you would have a single data server withe 12 data stores.
    This means that I will have something like this:
    + “My_Workbook.xls” server name (Just one)
    -     Spread sheet 1 (1 or several named ranges)
    -     Spread sheet 2 (1 or several named ranges)
    -     Spread sheet 3 (1 or several named ranges)
    -     Spread sheet n (1 or several named ranges)
    I do think that if my statement above is correct, I think I got the idea. Is it like that?
    I have gotten another question; let’s say for example that in any spread sheet I will have three different named ranges. The difference between spread sheet and spread sheet will be the month within and of course the information. Would it be accurate to bring it like that? That means that so far for twelve month I will bring 36 named ranges.
    Well I think I had explained myself. Please do not hesitate to contact me if any further detail is required.
    Best regards.
    J

  • How to load data from MS Excel file

    Hello All,
    Please help me regarding:
    how to load data/ insert records from MS Excel spreadsheet into Oracle table without converting that MS Excel file into CSV.
    Thank You in advance.

    Vivek More wrote:
    how to load data/ insert records from MS Excel spreadsheet into Oracle table without converting that MS Excel file into CSV.Setup HS connectivity:
    1. Create ODBC SYSTEM DSN using Microsift Excel driver(xls) and select your excel file as workbook.
    2. Create file initXLS.ora in %ORACLE_HOME%\hs\admin directory contailing the following line:
    HS_FDS_CONNECT_INFO = XLS3. Modify listener.ora file in %ORACLE_HOME%\network\admin directory and add the following lines to SID_LIST under SID_LIST_LISTENER
        (SID_DESC =
          (SID_NAME = XLS)
          (ORACLE_HOME = your-oracle-home)
          (PROGRAM = hsodbc)
        )4. Modify tnsnames.ora file in %ORACLE_HOME%\network\admin directory and add the following lines:
    XLS =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA =
          (SID = XLS)
        (HS=OK)
      )5. Restart listener.
    6. Create database link (public or private depending on your needs):
    CREATE PUBLIC DATABASE LINK XLS USING 'XLS';7. Now you are all set. For example my file has:
    NAME
    SAM
    JOEDefault sheet name "Sheet1$" is treated as table name (Since excel is case sensitive you need to use quoted name). First row is treated as column name. And select:
    SQL> select * from "Sheet1$"@xls;
    NAME
    SAM
    JOE
    SQL> Now if you do not know excel sheet names you can issue (I renamed excel sheet Sheet1$ to Names$):
    SQL> select table_name from all_tables@xls;
    TABLE_NAME
    Names$
    Sheet2$
    Sheet3$
    SQL> select column_name from all_tab_columns@xls where table_name = 'Names$';
    COLUMN_NAME
    NAME
    SQL> SY.

Maybe you are looking for