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

Outils SQL Server Discussion :

[MSSQL 2000 / DTS] Exporter des données ntext vers MySQL


Sujet :

Outils SQL Server

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 467
    Points : 647
    Points
    647
    Par défaut [MSSQL 2000 / DTS] Exporter des données ntext vers MySQL
    Bonjour à tous,

    Après avoir fait beaucoup de recherche sur la synchronisation de données entre différentes bases, j'ai fini par porter mon choix sur DTS.

    A savoir que d'un côté j'ai
    MSSQL : champs de type text ou ntext
    MYSQL : champs text

    Quand je fais une copie directe de colonnes j'obtiens une donnée inexploitable.

    J'ai tenté de passer par un script VBS durant transformation avec une instruction "CStr" mais pareil.

    J'ai tenté de feindre avec une requete select de ce type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select CAST(monChampsNText as varchar(4000)) from matable
    Mais j'ai peur d'oublier des données...

    Est ce qu'il y aurait un moyen fiable de faire cela ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 467
    Points : 647
    Points
    647
    Par défaut
    Je vais apporter un peu de précision ... et un petit récap' :

    J'ai donc deux bases de données :
    MSSQL 2K
    MySQL

    Je souhaite programmer des lots de transfert de données avec DTS. Tout fonctionne sauf pour les transferts des champs ntext (MSSQL).

    Les champs ntext dans MSSQL sont des champs text dans MySQL.

    Avec le driver ODBC 3.51, le transfert des données ntext se fait mais inexploitable.

    Avec le driver 5.1 : les champs sont Null.

    J'ai bien entendu essayer la copie de colonne directe (copy column) et le ActiveX Script avec pour le transfert de mes champs ntext, une instruction de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DTSDestination("MonChampsTextMySQL") = CStr(DTSSource("MonChampsNTextMSSQL"))
    Mais sans résultat probants.

    J'ai tenté avec le MySQL Migration ToolKit, mais de toute évidence inefficace car je dois planifier ces lots et selon des critères bien précis.

    J'ai vu que certains pouvaient avoir des remontées de messages d'erreur en rapport avec le traitement de champs de types BLOB, mais ce n'est pas mon cas. Le lot s'exécute de façon correcte.

    Et pour rappel, j'ai tenté un CAST(monChampsNtext as nvarchar(4000)) : ça marche ... Mais j'ai identifié plusieurs lignes ayant des champs ayant une longueur égale à 4000 (donc supérieure...) : cette solution n'est donc pas viable.

    Je n'ai plus trop d'idée... Si quelqu'un avait ne serait ce qu'un début de piste, ou même n'importe quelle idée n'étant pas à 100% dans mon contexte ... : Je suis preneur.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 865
    Points : 53 019
    Points
    53 019
    Billets dans le blog
    6
    Par défaut
    Il faut utiliser READTEXT depuis SQL Server 2000 pour exporter ce genre de blobs. Je ne voit d'ailleurs pas l'utilité d'une telle "réplication". Si vous nous parliez de votre besoin fonctionnel ???

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 467
    Points : 647
    Points
    647
    Par défaut
    Nous effectuons quotidiennement une synchronisation des données présentes sur notre intranet, vers notre extranet.

    Avec la montée en charge de nos données entrantes due à une croissance d'utilisateurs, notre "synchronisation" actuelle ne répond plus à notre besoin. Du moins, elle y répond mais il y a un gros manque de performance.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 467
    Points : 647
    Points
    647
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Il faut utiliser READTEXT depuis SQL Server 2000 pour exporter ce genre de blobs.
    Après étude de "READTEXT" moyen quand même. Car il faut déclarer un pointeur de type varbinary avec une longueur, et c'est là tout mon souci ... : La longueur du champs.

    Selon la MSDN cette fonction est à éviter, et conseille plutôt le substring, mais encore une fois, il faut toujours indiquer la fin.

    ça doit pas être si compliqué que ça à traiter quand même...

    Pour info', notre synchro' actuelle est basé sur du Access + table attachées sur du drivers ODBC... Oui c'est moyen mais bon... Pour l'instant ça tourne mais ça reste aléatoire par moment. Surtout qu'on a pas de remontée d'erreur.

    En tout cas, Access gère bien les champs ntext ...

    Est ce qu'un petit exécutable en DotNet pour gérer ce genre de champs peut être envisageable ?

Discussions similaires

  1. [AC-2010] Exporter des données filtrées vers Excel
    Par PohTato dans le forum IHM
    Réponses: 5
    Dernier message: 14/05/2013, 03h08
  2. Exporter des données OUTLOOK vers EXCEL
    Par devdev dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 04/03/2009, 15h35
  3. exporter des données word vers php
    Par teromah dans le forum Word
    Réponses: 4
    Dernier message: 19/04/2007, 13h27
  4. Export des données MsAccess vers Excel
    Par vautour29 dans le forum Access
    Réponses: 3
    Dernier message: 26/01/2007, 20h14
  5. exporter des données access vers excel
    Par Sebastien_INR59 dans le forum Access
    Réponses: 8
    Dernier message: 20/06/2006, 23h29

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