Jul 11, 2007

Εισαγωγή (import) και εξαγωγή (export) δεδομένων Excel στον SQL Developer

Μια από τις πιο σημαντικές προσθήκες στην έκδοση 1.2 του SQL Developer (http://www.oracle.com/technology/products/database/sql_developer/index.html), είναι οι προηγμένες δυνατότητες ανταλλαγής δεδομένων με το Microsoft Excel. Συνοπτικά, παρέχεται αφενός η δυνατότητα απευθείας εξαγωγής των αποτελεσμάτων ενός query σε μορφή .xls (επομένως ξεχνούμε τα ενδιάμεσα βήματα εξαγωγής σε αρχείο.csv και της μετέπειτα μορφοποίησης του στο Excel) και αφετέρου η εισαγωγή δεδομένων που προέρχονται από ένα αρχείο excel σε έναν πίνακα της βάσης, απλοποιείται, απαιτώντας λιγοστά clicks από τον χρήστη.

Ως προς την εξαγωγή δεδομένων, η δυνατότητα για το excel βρίσκεται στο μενού μαζί με τις υπόλοιπες επιλογές εξαγωγής (όπως INSERT statements, text, csv, xml, html, κ.α.) έπειτα την εκτέλεση ενός query:

Ακολουθώντας τον wizard, απομένει να ορίσουμε το όνομα του αρχείου εξόδου, και κάποια πιθανά φίλτρα ως προς τις στήλες ή τις γραμμές που θα εξαχθούν.

και κάπως έτσι θα κατασκευαστεί το excel αρχείο (όπως τουλάχιστον το εμφάνισε το OpenOffice)

Αυτό που έχει εξίσου ενδιαφέρον, είναι η ευκολία εισαγωγής δεδομένων στη βάση μας, που προέρχονται από ένα Microsoft Excel αρχείο. Μέχρι πρότινος, κάτι τέτοιο μπορούσε να συμβεί είτε μέσω του TOAD (που απαιτούσε license) είτε διαμέσου κοπιώδους προσπάθειας με τον SQL Loader. Τώρα, επιλέγουμε τον πίνακα όπου θα αποθηκευτούν τα δεδομένα και κάνουμε δεξί click στο μενού Import Data-->Excel.

Αφότου επιλέξουμε το αρχείο εισόδου, γίνεται μια προεπισκόπιση των δεδομένων που θα εισαχθούν. Μεταφέρουμε όλες τις επικεφαλίδες του αρχείου στα αριστερά ώστε να κάνουμε την αντιστοίχισή τους με πεδία του πίνακα.

Μεταφερόμαστε λοιπόν στο tab Data Types και ορίζουμε τον μετασχηματισμό, το πιθανό scale και format (ειδικά για ημερομηνίες) με δυνατότητα μάλιστα προεπισκόπισης της διαδικασίας σε DML.


Πατώντας το κουμπί insert, τα δεδομένα μας εισάγονται στον πίνακα, ενώ για οποιαδήποτε προβλήματα θα ειδοποιηθούμε στο κατάλληλο log παράθυρο.

No comments: