Pump up the volume - The APEX DataLoader inside out

Post on 20-Jan-2015

2.206 views 1 download

Tags:

description

Since APEX 4.1 we've got the built-in feature of the Data Loader. This feature isn't widely used yet and that is a shame. In this session you will learn all the nifty features of this particular piece of APEX functionality. Afterwards you will be able to use it yourself, making your life a lot easier and your users a lot happier.

Transcript of Pump up the volume - The APEX DataLoader inside out

Copyright © 2012 Apex Evangelists http://apex-evangelists.com

Pump up the Volume!The APEX Data Loader Inside Out

Roel Hartman

1Thursday, November 29, 12

Copyright © 2012 Apex Evangelistshttp://apex-evangelists.com

About Roel

• Director of APEX Evangelists NL

• 20+ years of Oracle Experience

• “RoelH” in the APEX Forum

• Presenter at KSCOPE, OOW, Collaborate, DOAG, UKOUG, ...

•Oracle ACE Director

• Blog @ http://roelhartman.blogspot.com

• Twitter : @RoelH

22Thursday, November 29, 12

Copyright © 2012 Apex Evangelistshttp://apex-evangelists.com

A Small Ad...

33Thursday, November 29, 12

Copyright © 2012 Apex Evangelistshttp://apex-evangelists.com

How To Get Data Into The Database?

4

DBA Developer End UserETL Tools

Data PumpSQL Loader

External TablesUTL_FILE

XLS UploadFile Upload

Data Load WizardWebsheets

4Thursday, November 29, 12

Copyright © 2012 Apex Evangelistshttp://apex-evangelists.com

Data Load Wizard - Wizard

• Plain Insert

• Tweak User Experience

• Add Lookups

• Add Transformations

• Add Concurrency

• Under the Covers

55Thursday, November 29, 12

DEMONSTRATION

Copyright © 2012 Apex Evangelistshttp://apex-evangelists.com

Plain Insert

66Thursday, November 29, 12

77Thursday, November 29, 12

88Thursday, November 29, 12

99Thursday, November 29, 12

1010Thursday, November 29, 12

1111Thursday, November 29, 12

1212Thursday, November 29, 12

1313Thursday, November 29, 12

1414Thursday, November 29, 12

1515Thursday, November 29, 12

1616Thursday, November 29, 12

1717Thursday, November 29, 12

1818Thursday, November 29, 12

1919Thursday, November 29, 12

2020Thursday, November 29, 12

2121Thursday, November 29, 12

DEMONSTRATION

Copyright © 2012 Apex Evangelistshttp://apex-evangelists.com

Tweak user experience

2222Thursday, November 29, 12

2323Thursday, November 29, 12

2424Thursday, November 29, 12

2525Thursday, November 29, 12

DEMONSTRATION

Copyright © 2012 Apex Evangelistshttp://apex-evangelists.com

Add lookups

2626Thursday, November 29, 12

2727Thursday, November 29, 12

2828Thursday, November 29, 12

2929Thursday, November 29, 12

30

So “Insert New Value” only works with auto generated keys!(it does insert a record with ST = NULL...)

So you have to manage that using triggers...

30Thursday, November 29, 12

DEMONSTRATION

Copyright © 2012 Apex Evangelistshttp://apex-evangelists.com

Add transformations

3131Thursday, November 29, 12

3232Thursday, November 29, 12

33

Only columns that are uploaded can be transformed...

33Thursday, November 29, 12

DEMONSTRATION

Copyright © 2012 Apex Evangelistshttp://apex-evangelists.com

Add concurrency

3434Thursday, November 29, 12

3535Thursday, November 29, 12

36

Does NOT work when you update the UK (First/Last Name) -> will do an insert

(or when you delete the record -> will do an insert)

36Thursday, November 29, 12

Copyright © 2012 Apex Evangelistshttp://apex-evangelists.com

Under the covers

3737Thursday, November 29, 12

Copyright © 2012 Apex Evangelistshttp://apex-evangelists.com

Collections Used

38

• After “Data Load Source”

• CLOB_CONTENT

• PARSE_COL_HEAD

• SPREADSHEET_CONTENT

• After “Data / Table Mapping”

• LOAD_COL_HEAD

• LOAD_CONTENT

• NOT_LOAD_CONTENT

• After “Data Validation”

• FIN_LOAD_CONTENT

38Thursday, November 29, 12

Copyright © 2012 Apex Evangelistshttp://apex-evangelists.com

One-to-many Mapping

• Sales sheet

• Customers

• Products

• Orders

• Order Items

• Use view + Instead of Triggers

3939Thursday, November 29, 12

Copyright © 2012 Apex Evangelistshttp://apex-evangelists.com

Conclusions

4040Thursday, November 29, 12

Copyright © 2012 Apex Evangelistshttp://apex-evangelists.com

Conclusions

• Data Load Wizard - Wizard is easy to use for an APEX Developer

• Data Load Wizard is easy to use for an End User

• Data Load Wizard is for 1:1 mappings to Tables

• Table Lookups + Manage Concurrency are nice features

• Easy Transformation Rules are ... easy

• Complex Transformation Rules are ... complex & limited

• Better use View with Instead Of Triggers

• Supports one-to-many mapping

4141Thursday, November 29, 12

Copyright © 2012 Apex Evangelistshttp://apex-evangelists.com

Q & A 42

42Thursday, November 29, 12

roel@apex-evangelists.comhttp://apex-evangelists.com

Copyright © 2012 Apex Evangelists4343Thursday, November 29, 12