Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Ανεβασμα xml αρχειου σε πίνακα της βάσης μου (Sql Server 2005)

Îåêßíçóå áðü ôï ìÝëïò Αλέξανδρος Δημητρίου. Τελευταία δημοσίευση από το μέλος Παναγιώτης Καναβός στις 16-02-2008, 19:35. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  09-02-2008, 12:59 40026

    Ανεβασμα xml αρχειου σε πίνακα της βάσης μου (Sql Server 2005)

    Παιδια Καλημέρα!

    Θέλω να φτιάξω μια procedure η οποία θα δέχεται ως παραμετρο το path ενος αρχειου xml και θα ανεβάζει τις εγγραφές του αρχείου σε ένα πίνακα....

    Παίδια σας παρακαλώ βοηθηστε οσο περισσότερο μπορειτε διοτι ειναι επείγον και δεν έχω καμια ιδέα από xml

    Ευχαριστώ παρα πολύ!!

     


    Αυτοί που ζουν γενναίοι είναι ενάρετοι,κάνουν ένδοξες πράξεις και πέθαινουν αιώνια ξακουστοί....
    Μ.Αλέξανδρος...IV Crusade...
  •  16-02-2008, 11:21 40198 σε απάντηση της 40026

    Απ: Ανεβασμα xml αρχειου σε πίνακα της βάσης μου (Sql Server 2005)

    Έτσι ακριβώς που το περιγράφεις δεν είναι υλοποιήσιμο - δεν μπορείς να περνάς ένα path για να διαβάζει ο SQL το αρχείο από το file system. Θα μπορούσες να περνάς όλο το xml κώδικα σαν παράμετρο και να κάνει εισαγωγή ο SQL server τα δεδομένα σε πίνακες. Μπορείς να δεις τη δημοσίευση "Passing lists to SQL Server 2005 with XML Parameters" από το weblog του Jon Galloway, που με απλά παραδείγματα περιγράφει αυτό που ρωτάς...

     

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  16-02-2008, 17:56 40213 σε απάντηση της 40198

    Απ: Ανεβασμα xml αρχειου σε πίνακα της βάσης μου (Sql Server 2005)

    Υποθέτω, θα μπορούσε να γίνει όμως με μία managed stored procedure


    Vir prudens non contra ventum mingit
  •  16-02-2008, 19:35 40216 σε απάντηση της 40026

    Απ: Ανεβασμα xml αρχειου σε πίνακα της βάσης μου (Sql Server 2005)

    Αν θέλεις να φορτώσεις XML αρχεία και να τα αποθηκεύσεις σε XML πεδία στον πίνακα μπορείς να χρησιμοποιήσεις την OpenRowset όπως περιγράφεται στο "Examples of Bulk Importing and Exporting XML Documents". Όπως λέει και στο παράδειγμα, έστω ότι έχεις ένα πίνακα ο οποίος ορίζεται ως εξής:

    CREATE TABLE T (IntCol int identity primary key, XmlCol xml)

    και ένα αρχείο XML, το 'c:\SampleFolder\products.xmll' με περιεχόμενο:

    <?xml version="1.0" encoding="UTF-8"?>
    <Root>
       <ProductDescription ProductModelID="5">
          <Summary>Some Text</Summary>
       </ProductDescription>
    </Root>

    Μπορείς να το φορτώσεις ως μία εγγραφή στον πίνακα T με το παρακάτω statement:

    INSERT INTO T(XmlCol)
    SELECT * FROM OPENROWSET(
    BULK 'c:\SampleFolder\products.xml',
    SINGLE_BLOB) AS x

    Εκτελώντας ένα select * from T θα πάρεις ως αποτέλεσμα

    IntCol XmlCol
    --  ------------------------------------------------------------------------------------------------------
    1   <Root><ProductDescription ProductModelID="5"><Summary>Some Text</Summary></ProductDescription></Root>


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems