Project managers spend most of their working time
producing reports, charts, graphs and calculations using the MS Excel
spreadsheet program. Working with the spreadsheets, they are faced with several
problems:
- My spreadsheets are spread all around network servers and local
disks. - How fast and how easy is it to find them?
- Is the data secured?
- Which spreadsheet document is the most current copy?
- What if documents are deleted and then needed later?
- Who was previously working on the same spreadsheet?
- How to notify others when a document is updated or even being
read?
Because
of this information chaos, project managers definitely need help. The Oracle
DBA is right guy to help them. The main the question, is how?
There
are a couple of the ways to approach this, and this article will explain
one of the lesser-known methods, using Oracle iFS. With iFS, Excel documents can
be stored and retrieved from the Oracle database using a secure environment.
This article covers:
- Different
Methods to Save and Retrieve Spreadsheets from an Oracle Database - Oracle
iFS Option - Oracle
iFS Installation and Administration - Practical
use for Managers - Conclusion
Different Methods to Save and
Retrieve Spreadsheets from Oracle Database
There are several methods to load data
from Excel to Oracle and vice versa. Some of the methods are widely used while others
are complicated and very seldom used.
Several of the most used "Oracle2Excel"
unload and "Excel2Oracle" load methods are:
| Method | UNLOAD Methods (Oracle2Excel) |
|---|---|
| SQL | spools your query into delimited text file of any size (csv comma-separated values format file) and open the csv file as an Excel spreadsheet. Absolute limit of 2000 bytes in 7.x and 4000 bytes in 8.x per line/row for unloaded data. |
| PLSQL | stored procedure or pl/sql anonyms block, writing in Excel file in several formats (csv to SYLK) |
| Oracle ODBC | uses ODBC to query data from Oracle into an MS Access table (ordinary ODBC external data) |
| InterMedia | data converted by interMedia into HTML, and parsed by PLSQL |
| Java, C, Pro*C | user made programs for data extraction and manipulation in a flat file, prepared to load in Excel |
| Oracle Objects for OLE (OO4O) | OLE saves the document along with some additional information into the LONG RAW column of a table via VBA macro |
| MS Query | enables native select from Oracle to Excel (Get External Data from Excel |
| Excel Add-in SQL*XL | add-in for Excel that uses Oracle objects for OLE and sql*net to make connection from Oracle query data into an Excel sheet |
| TOAD | saves Oracle table data directly to an Excel file |
| Oracle iFS | Excel can read/write the spreadsheet from/to the database naturally |
Several of the most used "Excel2Oracle"
load methods:
| Method | LOAD Methods (Excel 2Oracle) |
|---|---|
| SQLoader | loads text delimited file (csv format) into Oracle table |
| PLSQL | uses TEXT_IO package that enables Input/Output on local files provided with Developer 2000 Forms 4.5, or using native RDBMS packages for external I/O with 255 bytes/row limit |
| External Tables (Oracle 9i) | loads filtered and transformed Excel binary data using SQL into BLOB column data type |
| Oracle ODBC | loads data from Excel to MS Access and then to Oracle using ODBC and user program (for example VB script) |
| InterMedia Text | loads the Excel spreadsheet into the database using interMedia text (convert XLS spreadsheet into a big HTML table) |
| Java, C, Pro*C | User made programs for data load and manipulation |
| Oracle Objects For OLE | writes a program (VB script, or Oracle Forms) which is using OLE automation to interact with Excel, executing queries and managing the results |
| Excel Add-in SQL*XL | SQL*XL adds a new menu item to Excel so Oracle access appears to be native, you can use the data in e.g. Excel calculations and charts without problems, main method for retrieving data is through SQL |
| 4TOPS Excel Import Assistant | integrated wizard for MS Access to convert Excel data to Oracle |
| Oracle iFS | Excel can read/write the spreadsheet from/to the database naturally |
Any
of these options may be used; however, the final choice depends on the customer’s
specific needs.