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

 

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

Μεταφορά δεδομένων απο μία βάση σε μια άλλη μέσω εφαρμογής

Îåêßíçóå áðü ôï ìÝëïò DaltonGR. Τελευταία δημοσίευση από το μέλος DaltonGR στις 10-01-2007, 10:05. Υπάρχουν 21 απαντήσεις.
Σελίδα 1 από 2 (22 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  27-12-2006, 13:25 22828

    Μεταφορά δεδομένων απο μία βάση σε μια άλλη μέσω εφαρμογής

    Καλησπέρα,

    μια ερώτηση πώς θα μπορέσω να αντιγράψω δεδομένα απο μία βάση δεδομένων σε μια άλλη μέσω vb.net.

    με μια select παίρνω τα δεδομένα απο 4 πίνακες και θέλω αυτά τα δεδομένα που θα επιστρέψει το ερώτημα σε έναν πίνακα μίας άλλης βάσης δεδομένων...

    Ευχαριστώ εκ των προτέρων.

     

  •  28-12-2006, 11:50 22861 σε απάντηση της 22828

    Απ: Μεταφορά δεδομένων απο μία βάση σε μια άλλη μέσω εφαρμογής

    γεια σου

    Υπάρχουν πολύ τρόποι

    Ένας πρώτος που μου έρχεται στο μυαλό είναι να πάρεις το Query και να το δέσεις σε ένα dataset. Να το κάνεις export σε xml αρχείο.

    μετά να κάνεις import το xml αρχείο σε ένα άλλο dataset που θα το έχεις δέσει με τον πίνακα της άλλης βάσης και να το κάνεις update

    Φυσικά αν έχεις SQL Server τα παιδιά εδώ θα σου υποδείξουν πιο εύκολους τρόπους για αυτό πες μας τι βάσεις έχεις.



    Manos
  •  28-12-2006, 12:11 22862 σε απάντηση της 22861

    Απ: Μεταφορά δεδομένων απο μία βάση σε μια άλλη μέσω εφαρμογής

    Dalton Gr

    Ο δεύτερος πίνακας σου υπάρχει ήδη στην βάση ?? η θα τον δημιουργείς για να ριχνεις τα δεδομένα σου κάθε φορά ? για να σου δώσω ένα παράδειγμα της διαδικασίας .

  •  28-12-2006, 19:00 22873 σε απάντηση της 22828

    Απ: Μεταφορά δεδομένων απο μία βάση σε μια άλλη μέσω εφαρμογής

    Για να σας δωσω να καταλάβεται και εσείς.Υπάρχουν 2 βάσεις δεδομένων στον ίδιο server.εγώ κάνω query στην μία βάση δεδομένων παίρνωντας δεδομένα απο 3 διαφορετικούς πίνακες.αυτά τα δεδομένα θέλω να τα παίρνω και να τα ρίχνω στην άλλη βάση δεδομένων αλλά σε έναν πίνακα που υπάρχει ήδη.
  •  31-12-2006, 14:17 22919 σε απάντηση της 22828

    Απ: Μεταφορά δεδομένων απο μία βάση σε μια άλλη μέσω εφαρμογής

    ποιος θα είναι δηλαδή ο πίο σωστός και γρήγορς τρόπος για να γίνει αυτή η μεταφορά;απο μία βάση δεδομένων σε μία άλλη.

    ευχαριστώ εκ τον προτέρων.
  •  31-12-2006, 15:16 22922 σε απάντηση της 22828

    Απ: Μεταφορά δεδομένων απο μία βάση σε μια άλλη μέσω εφαρμογής

    Εφόσον είσαι στον ίδιο Server το πιό εύκολο και απλό είναι να φτιάξεις μιά Stored Procedure η οποία θα κανει την δουλιά που θέλεις καλώντας την μέσα από τον Client
    Ιωάννης Μανουσάκης
  •  04-01-2007, 08:52 23008 σε απάντηση της 22828

    Απ: Μεταφορά δεδομένων απο μία βάση σε μια άλλη μέσω εφαρμογής

    Καλημέρα,

    αν φορτώσω τα δεδομένα σε ένα dataset απο την μια βάση δεδομένων μπορώ να τα μεταφέρω σε άλλο dataset και να τα αποθηκεύσω ύστερα σε ένα πίνακα σε άλλη βάση δεδομένων;χωρις να χρησιμοποιήσω stored procedure.

    και πώς μπορώ να το κάνω αυτό;με το dataset εννοώ...

    ευχαριστώ..

  •  05-01-2007, 13:39 23072 σε απάντηση της 22828

    Απ: Μεταφορά δεδομένων απο μία βάση σε μια άλλη μέσω εφαρμογής

    υπάρχει λύση για το πρόβλημα μου???....

  •  05-01-2007, 22:34 23111 σε απάντηση της 23008

    Απ: Μεταφορά δεδομένων απο μία βάση σε μια άλλη μέσω εφαρμογής

    Dalton, πρέπει ο π ω σ δ η π ο τ ε να περάσεις απο client για αυτή τη διαδικασία; Όπως είπε κι ο imanos μερικά posts πρίν, είναι σαφώς πιο εύκολο, και σίγουρα πιο γρήγορα απο άποψη performance να κάνεις αυτή τη δουλειά με SQL μέσα απο τον SQL Server, παρά με τη χρήση οποιασδήποτε άλλης "μεθοδολογίας" ...

    Υπάρχει λοιπόν καποιο σαφές requirement που λέει οτι πρέπει να γράψεις μια εξωτερική εφαρμογή που κάνει όλη αυτή την ιστορία;
    Angel
    O:]
  •  06-01-2007, 01:39 23113 σε απάντηση της 22828

    Απ: Μεταφορά δεδομένων απο μία βάση σε μια άλλη μέσω εφαρμογής

    ναι φιλε μου χρειάζεται να γίνει απο εφαρμογή.δοκίμασα να το κανω με row row copy αλλα είναι περίπλοκο και αργό...
  •  06-01-2007, 02:24 23114 σε απάντηση της 22828

    Απ: Μεταφορά δεδομένων απο μία βάση σε μια άλλη μέσω εφαρμογής

    Συγνώμη κίολας, αλλά αυτο που λες δεν στέκει.. Πως είναι δυνατόν να παίζει πιο ΑΡΓΑ απο το να τραβήξεις τα δεδομένα, να τα φορτώσεις στην μνήμη και να τα ξαναγράψεις πίσω, απο το να τα γράψεις κατευθείαν στον πίνακα όπως κάνεις το SELECT.. To SELECT έχει ενα κάρο μεθόδους να κάνεις OUTPUT ότι θέλεις και να το κάνεις insert όπου θέλεις..
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  06-01-2007, 04:13 23115 σε απάντηση της 22828

    Απ: Μεταφορά δεδομένων απο μία βάση σε μια άλλη μέσω εφαρμογής

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

    Επίσης, όταν λες row-row copy, τι εννοείς ακριβώς; Έλεγξε μήπως χρησιμοποίησες sub-optimal μθεδόδους (πχ cursors), ή έχεις κάποιο λογικό λάθος στον αλγόριθμό σου (πχ διπλές-τριπλές επαναλήψεις);
    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  06-01-2007, 11:50 23117 σε απάντηση της 23114

    Απ: Μεταφορά δεδομένων απο μία βάση σε μια άλλη μέσω εφαρμογής

    Παιδιά, νομίζω οτι ο άνθρωπος εννοεί οτι προσπάθησε να απο client εφαρμογή να κάνει copy row by row.

    Dalton, αν κατάλαβα καλά, το σενάριό σου είναι το εξής:

    1. select απο διάφορα tables ένα κάποιο όγκο δεδομένων
    2. transform / join των δεδομένων αυτών σε ένα άλλο schema, το οποίο ανταποκρίνεται σε μια άλλη βάση
    3. Insert στην άλλη βάση

    Σωστά;

    Αν λύσεις του στύλ Data Transformation Services (DTS) κτλ δε γίνεται να εφαρμοστούν, θα έλεγα οτι η καλύτερη μέθοδος που έχεις είναι με τη
    χρήση datasets. Select ότι θές απο τα πρώτα tables, και μετά μετέφερε αυτά τα δεδομένα σε ένα άλλο dataset με το ανάλογο schema, και μετά με ένα DataAdapter κάνε insert τα νέα δεδομένα στην άλλη βάση.

    Είναι λίγο επώδυνη διαδικασία, αλλά εδώ είμαστε.

    Angel
    O:]
  •  06-01-2007, 13:43 23118 σε απάντηση της 22828

    Απ: Μεταφορά δεδομένων απο μία βάση σε μια άλλη μέσω εφαρμογής

    δίκιο έχεις anjelino.ακριβώς όπως το περιγράφεις.αυτό που δεν μπορώ να καταλάβω είναι πώς θα κάνει την μεταφορά των δύο dataset και την εισαγωγη των δεδομένων στην άλλη βάση δεδομένων.

    την διαδικασία την κατανοώ αλλα τον τρόπο..

    είμαι και νέος σε αυτά...

    ευχαριστώ....
  •  06-01-2007, 15:14 23121 σε απάντηση της 23118

    Απ: Μεταφορά δεδομένων απο μία βάση σε μια άλλη μέσω εφαρμογής

    Η διαδικασία είναι απλή όντως θεωρητικά :D

    Στις δύο methods παρακάτω θα δείς πως μπορείς να φορτώσεις και να σώσεις δεδομένα απο / πρός τη βάση σε ένα dataset. Βασικά, με τη χρήση του DataAdapter είναι υπερβολικά εύκολο όπως θα δείς.

    Το μόνο που μένει να κάνεις, είναι το copy-paste των δεδομένων μεταξύ των δύο datasets με το διαφορετικό schema, και να σώσεις το δεύτερο στη νέα σου βάση.

        /// <summary>

        /// Fills the tables in the DataSet from the database, using

        /// DataAdapters

        /// </summary>

        /// <param name="dSet"></param>

        /// <param name="tableNames"></param>

        /// <param name="objConn"></param>
        public static void LoadData(DataSet dSet, string[] tableNames, SqlConnection objConn){
            // ok, loop inside the tableNames, and fill each table in sequence ...
            foreach (string tableName in tableNames) {

                // get the table we're looking for, and create a DataAdapter for it.

                // for simplicity, let it generate the sql statements itself

                SqlDataAdapter tableAdapter = new SqlDataAdapter(string.Format("select * from {0}", tableName), objConn);

                // ok, now use a CommandBuilder to provide all the sql ;]

                SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(tableAdapter);


                // ok, now fill the table :)

                tableAdapter.Fill(dSet, tableName);

            }
        }

        /// <summary>
        /// Propagates changes in the dataset to the database
        /// </summary>
        /// <param name="dSet"></param>
        /// <param name="tableNames"></param>
        /// <param name="objConn"></param>
        public static void UpdateData(DataSet dSet, string[] tableNames, SqlConnection objConn) {
            // ok, loop inside the tableNames, and fill each table in sequence ...
            foreach (string tableName in tableNames) {
                // get the table we're looking for, and create a DataAdapter for it.
                // for simplicity, let it generate the sql statements itself
                SqlDataAdapter tableAdapter = new SqlDataAdapter(string.Format("select * from {0}", tableName), objConn);
                // ok, now use a CommandBuilder to provide all the sql ;]
                SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(tableAdapter);

                // ok, now fill the table :)
                tableAdapter.Update(dSet, tableName);
            }
        }


    Angel
    O:]
Σελίδα 1 από 2 (22 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems