IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Migration de PostGreSQL vers SQL Server


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Migration de PostGreSQL vers SQL Server
    Bonjour,

    J'ai (pré)développé des requêtes de formatage de données sour pgsql 8.2.4 pour Mac OS X (v10.4.10) et je souhaite les migrer vers mssql 9 sous Windows XP (Microsoft SQL Server 2005).
    Il s'agit d'une base moyenne de part la taille des données (1 million de lignes à mettre à jour de temps en temps, puis jointure avec une table fixe de cinq millions de lignes).
    Il s'agit d'une base pichrocoline en terme d'accès et d'utilisateurs.

    Mon problème est triple.

    D'abord, comment importer *simplement* des fichiers plats ? Le plus simple (et proche de ce que j'ai fait) est un BULK INSERT. Sauf que si j'arrive à préciser le caractère délimiteur (point-virgule <;>, en l'occurence), je n'arrive pas à lui faire comprendre que les doubles chiures de mouche <"> encadrent éventuellement certains champs caractères.

    Ensuite, comment convertir de manière personnalisée les types de colonnes dans une table (ALTER TABLE <nom> ALTER COLUMN <col> TYPE <nvo type> USING <fonction de conversion>) ?

    Enfin (et je ne vois même pas d'expédient simple pour ce problème), quel équivalent pour le type tableau qui me permet de lister toutes les lignes affectées par un regroupement à travers une fonction d'agrégat utilisateur ?
    (il s'agit de la fonction ARRAY_ACCUM de la section 33.10 de la doc de pgsql 8.2.4)

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE AGGREGATE array_accum (anyelement)
    (
    sfunc = array_append,
    stype = anyarray,
    initcond = '{}'
    );

    Merci !
    (J'ai un peu l'impression de régresser avec cette mini-migration, c'est pas glop.)


    PS> C'est pas possible de se connecter sans cookie appremment. C'est pas glop non plus.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    bonjour,

    pour le 1er pb, bulk insert est la meilleure méthode pour importer un fichier en effet. Pour les dbl quotes, il faut qu'elles disparaissent lors de l'import c'est ça ? ou tu peux les faire disparaître à l'export ?

    pour le alter table je ne connais rien de tel, tu peux ajouter une colonne, faire l'update correspondant puis supprimer l'ancienne colonne.

    pour la dernière avec l'agregat, il est sûrement possible d'avoir le même résultat
    avec une fonction custom (UDF) ou une vue matérialisée.
    Emmanuel T.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Précisions
    Bonjour,

    Merci pour vos réponses, voici quelques précisions :

    1/ Pour le BULK INSERT, l'enjeu est bien de supprimer les "doubles quote" à l'importation. Pour l'instant, je me débrouille pour les supprimer avant.

    2/ Pour les conversions de type, votre idée est bonne. Merci.

    3/ Pour l'agrégat, il ne me reste plus qu'à me documenter... Sinon j'ai vu ça, question posée que mon message en même temps par une autre personne :
    http://www.developpez.net/forums/sho...d.php?t=383751

  4. #4
    Futur Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Souci...
    1/ Pour le BULK INSERT, j'ai renoncé. Je fais de l'import/export chercher/remplacer pour obtenir un beau texte tabulé avec fins de lignes CR/LF (config par défaut du BULK INSERT)

    2/ J'ai donc ajouté/supprimé une colonne à ma table.

    3/ Il est possible de créer des aggrégats utilisateurs (Microsoft appelle ça des aggrégats personnalisés) en le codant en .NET et en faisant un CREATE ASSEMBLY. J'ai renoncé pour l'instant, je n'y connais rien en environnements de programmation.

    4/ (Nouvelle question, très bête) Existe-t-il un filtrage en Transact-SQL ? (plutôt que de faire des 'if' imbriqués)

Discussions similaires

  1. Migration de Mysql vers Sql Server
    Par bluecurve dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/02/2007, 00h21
  2. Migration de Excel vers Sql Server 2000
    Par josyde2006 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 02/01/2007, 23h59
  3. Migration PostGreSql vers SQL Server
    Par ZeMomoDesBois dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 09/11/2006, 07h43
  4. migration de oracle vers sql server 2005 - linked server
    Par aemag dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 16/10/2006, 15h31
  5. Migration Access 97 vers SQL Server + Access Run Time
    Par KiDiBoo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 31/10/2005, 09h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo