Escolar Documentos
Profissional Documentos
Cultura Documentos
Karen Cannell
kcannell@thtechnology.com
TH Technology
http://www.thtechnology.com
TH Technology
http://www.thtechnology.com
TH Technology
TH Technology
About Me
Karen Cannell ~ Consultant, TH Technology SW Engineer 25+ years, Oracle since 1994. Building APEX apps for government, medical, engineering industries. Leveraging the Oracle 10g,11g (now 12c) suite of tools Beginning Application Express, APress, 2011 Agile Application Express, APress, 2011 Editor, ODTUG Technical Journal Volunteer to author ODTUG Journal Articles! Using APEX since the HTMLDB beginning
How Do I Load Data
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
Lets Focus
TH Technology
application that can bulk process the insert, update and delete on all object data into and build queries to extract data out of 95% Say XLS but Really are CSV salesforce.com using the Apex Web Services (SOAP) API.
How Do I Load Data
TH Technology
Our Problem
Load Data into Oracle 40% Fixed-Format Text Files 60% Excel Spreadsheets Several XLS Formats 200+ Files Monthly Locations All Over the World Some Networked, Some Not Varying Volume of Data
How Do I Load Data
TH Technology
Time $$
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
XLS and XLSX* File Load in Very Few Clicks! *XLSX in SQL Developer 3.1
How Do I Load Data
TH Technology
TH Technology
Cons
Table Must Be Defined Cannot Integrate into App Tedious to Repeat IDE Specific One Shot Data Load Not for End Users
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
Finish
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
Reusable Code, Pages for Any Upload File/Table Saves One Part of Custom Code Custom Processing from Stage Table Required
TH Technology
TH Technology
PROCEDURE get_records(p_blob IN blob,p_records OUT varchar2_t) TH Technology IS l_sep VARCHAR2(2) := chr(13)||chr(10); l_last INTEGER; l_current INTEGER; BEGIN IF (NVL(DBMS_LOB.INSTR(p_blob, utl_raw.cast_to_raw(l_sep),1,1),0)=0) THEN l_sep := chr(10); END IF; l_last := 1; LOOP l_current := dbms_lob.INSTR( p_blob, utl_raw.cast_to_raw(l_record_separator), l_last, 1 ); EXIT WHEN (nvl(l_current,0) = 0); p_records(p_records.count+1) := utl_raw.cast_to_varchar2( DBMS_LOB.SUBSTR(p_blob,l_current-l_last,l_last)); l_last := l_current+length(l_record_separator); END LOOP; END get_records;
How Do I Load Data
TH Technology
LOOP l_current := dbms_lob.INSTR( p_blob, utl_raw.cast_to_raw(l_record_separator), l_last, 1 ); EXIT WHEN (nvl(l_current,0) = 0); p_records(p_records.count+1) := utl_raw.cast_to_varchar2( DBMS_LOB.SUBSTR(p_blob,l_current-l_last,l_last)); l_last := l_current+length(l_record_separator); END LOOP;
Loop to read records from the BLOB, line by line (separator to separator)
TH Technology
Load Collection
FOR i IN 2..l_records.count LOOP csv_to_array(l_records(i),l_record); l_seq_id := apex_collection.add_member(p_collection_name,'dummy'); FOR i IN 1..l_record.count LOOP apex_collection.update_member_attribute( p_collection_name=> p_collection_name, p_seq => l_seq_id, p_attr_number => i, p_attr_value => l_record(i)); END LOOP; END LOOP;
How Do I Load Data
TH Technology
l_ddl := INSERT INTO '||p_table_name||' '|| SELECT '||v(p_columns_item)||' '|| FROM apex_collections '|| WHERE seq_id >= 1 and collection_name='''|| p_collection_name||''''; EXECUTE IMMEDIATE l_ddl;
TH Technology
Remove File
-- Cleanup file! DELETE FROM wwv_flow_files WHERE name=p_file_name;
TH Technology
Custom Code
How Do I Load Data
TH Technology
Cons
Custom Code Resources Maintenance One-of Solution
TH Technology
The SQL Workshop Data Load Utility End-User-ized Page Type Creates a Shared Component
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
Home
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
IF get P1 Finish by Loading Collection, have a Two-Step File Upload for End Users!
How Do I Load Data
TH Technology
Parsing File
Custom Code per Use/Table/Format Generic File Upload Utility
TH Technology
Reusable for Any Upload File/Table Saves One Part of Custom Code Custom Processing from Stage Table Required
TH Technology
TH Technology
Allows Upload of XLS File into a Collection Best Reference: (from RMOUG 2010) http://krisrice.blogspot.com/2010/02/anotherapex-listener-ea-more-knobs-to.html
TH Technology
TH Technology
TH Technology
TH Technology
Report Region:
SELECT * FROM apex_collections WHERE collection_name = MY_COLLECTION
TH Technology
TH Technology
TH Technology
.XLSX do NOT Process as of APEX Listener 1.1.3.243.11.40 .XLSX will Process as of v2 Coming Soon!
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
TH Technology
APEX Websheets
Data Grid Allows
Copy/Paste Spreadsheet-Like Edits Data Grid w/in Page
TH Technology
TH Technology
APEX Websheets
Demo
TH Technology
TH Technology
APEX WebSheets
Pros Copy/Paste Spreadsheet-Like Entry, Edits End User Can Build Cons Custom Code to Create Websheet, Data Grid? Custom Code Required to Pull Data into Schema Objects Custom Code to Maintain Worksheet / Data Grid More Code Than Other Solutions ?
How Do I Load Data
TH Technology
Our Solution
Problem RPT Files XLS files Different Formats 200+, Monthly Users Cannot Save as CSV Must Support Edits Varying Volume Limited Network Solution Tabular Forms - 4 Macro to Save as RPT External Tables
Generated RPT LIS Output RPT Files
Custom Processing
RPT LI Systems RPT Spreadsheet TemplatesHow Do I Load Data
TH Technology
TH Technology
TH Technology
Tabular Forms
Enter Many Rows
Java Solution
.JSP to load XLS directly Presume this means XLSX too!
How Do I Load Data
TH Technology
TH Technology
TH Technology
TH Technology
References
Upload File into APEX oraexplorer.com Ittichai http://oraexplorer.com/2007/11/apex-to-uploadtext-file-and-write-into/ More at avdeo.com In Oracle Milieu http://avdeo.com/2008/05/21/uploading-excelsheet-using-oracle-application-express-apex/
TH Technology
References
Oracle Data Integrator
http://www.oracle.com/technetwork/middleware/dataintegrator/overview/index.html
SQL Developer
http://www.oracle.com/technetwork/developertools/sql-developer/overview/index.html
How Do I Load Data
TH Technology
References
APEX Listener XLS Upload Kris Rice Blog http://krisrice.blogspot.com/2010/02/anotherapex-listener-ea-more-knobs-to.html A Java-and-PL/SQL based XLS to CSV Option
http://www.dynamicpsp.com/!go?ln=nfaq&faq=FAQ9
Questions ?
How Do I Load Data? Let Me Count The Ways
TH Technology
kcannell@thtechnology.com
Thank You
How Do I Load Data? Let Me Count The Ways
TH Technology
kcannell@thtechnology.com