Convertir table SQL pour mongoDB document
Quel est le meilleur moyen de convertir une base de données SQL, disons 1 table, pour un mongoDB document?
Je suppose que je pourrais utiliser un C# pilote et de mettre en œuvre une boucle, qui sélectionne chaque ligne de la table et l'enregistre dans Mongo.. Cependant, je suis à la recherche d'un meilleur moyen pour convertir beaucoup de données..
MongoDB philosophie est de pousser autant de ce genre de chose pour le pilote / l'application ... alors je serais d'accord avec Matt ci-dessous ... votre meilleur pari est d'utiliser le C# pas seulement parce qu'il va vous sauver BEAUCOUP de tracas (avec il est agréable BFILS lib), mais aussi parce que vous pouvez faire face à beaucoup de problèmes de conversion beaucoup plus facile que de dire d'un cliché ou d'exportation, etc.
OriginalL'auteur Stewie Griffin | 2010-12-07
Vous devez vous connecter pour publier un commentaire.
Le conducteur moyen est de LOIN la plus simple. Les outils d'exportation/importation sont fantastiques, mais seulement si vous les utilisez comme une paire. Vous êtes dans une course folle, si votre tableau contient les dates et vous essayez d'exporter à partir de la db et de les importer dans mongo.
Vous avez de la chance aussi, étant en c#. Nous sommes à l'aide de ruby, et ont un 32million ligne de la table nous avons migré vers mongo. Notre fin de la solution a été d'élaborer un fou instruction sql dans postgres que la sortie json (dont certains assez encombrants choses pour obtenir les dates de passe correctement) et les canalisations de la sortie de la requête sur la ligne de commande dans mongoimport. Il a fallu une très frustrant journée à écrire, et n'est pas le genre de chose qui peut jamais vraiment être changé.
Donc, si vous pouvez sortir avec elle, l'utiliser ado.net avec les mongo du pilote. Si pas, je vous souhaite bien 🙂
(à noter que c'est à venir à partir d'un total de mongo fanboi)
la date était le véritable assassin pour nous, parce que mongo le voit comme un 64 bits nombre de tiques depuis l'époque, et tout le reste, nous utilisons utilise 32 bits dates. Nous avons eu des problèmes de l'importation dans le tsv mode, parce que aparently selon 10gen, une chaîne de caractères entre guillemets ne pouvez pas avoir un saut de ligne dans un fichier tsv. Nous avons rencontré d'autres problèmes, mais ils étaient plus spécifiques à nos outils.
OriginalL'auteur Matt Briggs
C'est l'importation d'un script que je suis à l'aide de l'Importation de données à partir de SQL server pour Mongodb situé sur ma boîte.
Ce code il suffit de créer une table similaire(existant dans SQL DB) dans MongoDB.
Vous pouvez fournir la liste de la table à importer en tant que séparation par virgule et tous seraient importés sans problèmes.
Je suis également à la recherche pour exécuter ce code, mais ne peut pas compiler avec courant MongoDB package de pilotes. Les Classes MongoServer, MongoDatabase ne sont pas trouvés ? Merci, LA Mec
OriginalL'auteur user_v
J'ai eu à créer de l'outil pour le faire.
Il utilise bcp.exe pour exporter des données au format xml, puis de le convertir en json à l'aide de Newtonsoft JSON.NET et puis mongoimport pour l'importer. Il a fallu moins d'une journée, mais les dates ne sont pas pris en charge.
Du code ci-dessous (très non nettoyés:)
bcp.exe utilise une syntaxe du type:
bcp.exe "SÉLECTIONNEZ * à partir de Géodonnées.dbo.Aéroports POUR XML BRUT('Row'),RACINE ("Root"), les ÉLÉMENTS" queryout D:\TEMP\tmp1045.tmp -Uxxxx -Pxxxx -Sxxxx -w -r "" -q
json:
Mongoimport:
D:\MongoDB\mongoimport.exe -c "test" -d "MongoStatic" 1.json >1
OriginalL'auteur Vladekk
Si vous êtes de jouer avec Ruby, j'ai faire un bijou qui vous aide à faire: http://mongify.com/.
Code Source peut être trouvé: https://github.com/anlek/mongify/
Vraiment facile et direct de la définition de votre schéma et comment il devrait se traduire par mongodb. Y compris l'intégration, le changement de nom de tables, de renommer des champs et un tas d'autres options.
OriginalL'auteur Andrew K
À la fois la Norme & samus c# mongo pilotes prennent en charge des classes fortement typées pour être transmis sous forme de documents. Ses cool comme Nhiberbate et LINQ to SQL.
DONC, mon idée est, vous pouvez utiliser LINQ to SQL pour créer une entité en c# (classes représentant les tables) pour récupérer les données à partir de sql server et vous pouvez utiliser la même classe fortement typée pour l'insertion dans mongo db.
Assurez-vous que vos élèves devraient avoir une mongo identificateur attribut (en Norme) dans un champ. C'est pour générer un identifiant unique pour un document.
OriginalL'auteur RameshVel