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 :

[SQL server 2005]importer une BDD de Mysql vers SQL server


Sujet :

MS SQL Server

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut [SQL server 2005]importer une BDD de Mysql vers SQL server
    Bonjour ,

    Voila actuellement je suis en stage dans une entreprise qui m'a demandé de tester différentes solution de GED ( gestion électronique de documents ).

    J'en ai testé une avec mySQL mais l'entreprise ou je suis veut se servir de SQL server .

    Mais voila le script mySQL n'est pas compatible sous SQL server . Il m'a fallut donc corriger pas mal d'erreur cependant il me reste quelques erreurs que je n'est pas résolut .N'ayant pas encore vu le language SQL en cour : Programme de 2éme année et je suis en 1ère année , il m'est difficile de voir d'ou viennent ses erreurs .

    Voila le premier type d'erreur constatée :

    Exemple de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ENGINE=MyISAM DEFAULT CHARSET = utf8 COMMENT = 'Archive box (about 500 sheets)';
    Voici l'erreur renvoyé :
    Server: Msg 170, Level 15, State 1, Line 58
    Line 58: Incorrect syntax near '='.

    A moi avis cette ligne est inutile sous SQL server car MyISAM est un moteur de fichier propre à MySQL .

    2éme erreur :

    EX:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UNIQUE KEY IDENTIFIER (IDENTIFIER),
    Server: Msg 156, Level 15, State 1, Line 285
    Incorrect syntax near the keyword 'KEY'.

    et également pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FULLTEXT KEY search (TITLE,DESCRIPTION)
    Server: Msg 156, Level 15, State 1, Line 475
    Incorrect syntax near the keyword 'KEY'.

    Je n'ai pas réussi à trouver de syntaxe équivalente sur SQL server .

    J'espère avoir été clair dans mes explications .
    Merci d'avance pour votre aide !

    Cordialement

    Fadaflux

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 936
    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 936
    Points : 51 753
    Points
    51 753
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ENGINE=MyISAM DEFAULT CHARSET = utf8 COMMENT = 'Archive box (about 500 sheets)';
    n'existe pas dans la langage SQL (norme), spécifique à MySQL et donc pas pris en compte par SQL Server.

    En revanche SQL Server utilise les notions de COLLATION sous jeu de caractères qui est la norme SQL.
    Lisez l'article que j'ai écrit à ce sujet : http://sqlpro.developpez.com/cours/s...er/collations/


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UNIQUE KEY IDENTIFIER (IDENTIFIER),
    Inconnu dans le langage SQL qui est une norme... Qu'est ce que ce charabia MySQL est censé faire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FULLTEXT KEY search (TITLE,DESCRIPTION)
    La mise en place de catalogue d'indexation textuelle est propre à chaque éditeur, la norme SQL passant cela sous silence (comme pour tout index d'ailleurs). En revanche le prédicats CONTAINS de SQL Server est conforme à la norme.
    Que voulez-vous faire avec ce bout de code ?

    A +

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci de votre réponse aussi rapide ! Comme je voulais dit dans mon premier message , se n'est pas évident pour moi car je n'est pas encore eu de cour sur le language SQL . Après de nombreuse recherche , j'en avais effectivement déduit que ces syntaxes n'étaient pas compatible et quelles ne servaient pas sous SQL server , mais je voulais les conseils d'un pro .

    Voila maintenant que j'ai enlever ses bouts de code inutile quand je compile tous se passe bien . Mais quand je veux éxéctuter une table ( la créer ) , il y a une erreur .
    Voila la création d'une table des tables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    IF EXISTS(SELECT name FROM sysobjects WHERE type='U' AND name =  'arboxes')
    DROP TABLE arboxes;
    IF NOT EXISTS(SELECT name FROM sysobjects WHERE type='U' AND name =  'arboxes')
    CREATE TABLE arboxes 
      ( 
      ARBOX_ID varchar(32) NOT NULL default '',
      TITLE varchar(255) default NULL,
      SUBJECT varchar(255) default NULL,
      [DESCRIPTION] text,
      ARCONTAINER_ID varchar(32) default NULL,
      STATUS varchar(3) NOT NULL default '',
      CREATION_DATE datetime NOT NULL default '0000-00-00 00:00:00',
      RETENTION_TIME datetime default '0000-00-00 00:00:00',
      CUSTOM_T1 varchar(3) default NULL,
      CUSTOM_N1 int(255) default '0',
      CUSTOM_F1 float default '0',
      CUSTOM_D1 datetime default '0000-00-00 00:00:00',
      CUSTOM_T2 varchar(3) default NULL,
      CUSTOM_N2 int(255) default '0',
      CUSTOM_F2 float default '0',
      CUSTOM_D2 datetime default '0000-00-00 00:00:00',
      CUSTOM_T3 varchar(50) default NULL,
      CUSTOM_N3 int(255) default '0',
      CUSTOM_F3 float default '0',
      CUSTOM_D3 datetime default '0000-00-00 00:00:00',
      CUSTOM_T4 varchar(50) default NULL,
      CUSTOM_N4 int(255) default '0',
      CUSTOM_F4 float default '0',
      CUSTOM_D4 datetime default '0000-00-00 00:00:00',
      CUSTOM_T5 varchar(255) default NULL,
      CUSTOM_N5 int(255) default '0',
      CUSTOM_F5 float default '0',
      CUSTOM_D5 datetime default '0000-00-00 00:00:00',
      CUSTOM_T6 varchar(255) default NULL,
      CUSTOM_T7 varchar(255) default NULL,
      CUSTOM_T8 varchar(255) default NULL,
      CUSTOM_T9 varchar(255) default NULL,
      CUSTOM_T10 varchar(255) default NULL,
      PRIMARY KEY  (ARBOX_ID)
      )
    Voila se que sa me met quand je compile :
    The command(s) completed successfully.

    Mais voila quand j'execute :
    Server: Msg 2716, Level 16, State 1, Line 4
    Column or parameter #10: Cannot specify a column width on data type int.


    Je suis sur que c'est béte comme erreur mais voila sa fait une journée que je suis bloqué la dessus .
    Si vous avez une idée merci d'avance !

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2005
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 215
    Points : 471
    Points
    471
    Par défaut
    Sous SQL Server, le type int n'a pas de taille alors que pour MySQL tu peux définir la taille d'affichage.
    Si tu enlèves les (255) pour tous les types int, ça marche.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    CUSTOM_N2 int(255) DEFAULT '0',
    le int doit être seul ET sa valeur par défaut sans quote

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     CUSTOM_N2 int DEFAULT 0,

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    merci beaucoup pour ce précieux conseil !!!

  7. #7
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Citation Envoyé par giragu03
    Sous SQL Server, le type int n'a pas de taille alors que pour MySQL tu peux définir la taille d'affichage.
    Si tu enlèves les (255) pour tous les types int, ça marche.
    Normalement, le type int a la taille du processeur c'est à dire 32bit soit 4 octet et l'on n'a donc pas besoin de préciser la taille et c'est ce que MS SQL Serveur fait !

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour tous le monde

    J'ai encore un problème ! Pourtant j'ai cherché avant de poster mes je ne trouves pas les réponses à ce problème .

    Alors voila mon problème vient de ses 2 lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT INTO res_x (RES_ID, TITLE, SUBJECT, DESCRIPTION, PUBLISHER, CONTRIBUTOR, TYPE_ID, FORMAT, TYPIST, CREATION_DATE, AUTHOR, AUTHOR_NAME, IDENTIFIER, SOURCE, DOC_LANGUAGE, RELATION, COVERAGE, DOC_DATE, RIGHTS, DOCSERVER_ID, ARBOX_ID, PATH, FILENAME, OFFSET, LOGICAL_ADR, FINGERPRINT, FILESIZE, IS_PAPER, PAGE_COUNT, SCAN_DATE, SCAN_USER, SCAN_LOCATION, SCAN_WKSTATION, SCAN_BATCH, BURN_BATCH, SCAN_POSTMARK, ENVELOP_ID, STATUS, DESTINATION, APPROVER, VALIDATION_DATE, WORK_BATCH, ORIGIN, IS_INGOING, PRIORITY, CUSTOM_T1, CUSTOM_N1, CUSTOM_F1, CUSTOM_D1, CUSTOM_T2, CUSTOM_N2, CUSTOM_F2, CUSTOM_D2, CUSTOM_T3, CUSTOM_N3, CUSTOM_F3, CUSTOM_D3, CUSTOM_T4, CUSTOM_N4, CUSTOM_F4, CUSTOM_D4, CUSTOM_T5, CUSTOM_N5, CUSTOM_F5, CUSTOM_D5, CUSTOM_T6, CUSTOM_T7, CUSTOM_T8, CUSTOM_T9, CUSTOM_T10, CUSTOM_T11, CUSTOM_T12, CUSTOM_T13, CUSTOM_T14, CUSTOM_T15) VALUES (50, 'ACME F-003', NULL, '803,71', NULL, NULL, 'Customer Invoice', 'pdf', 'AUTOIMPORT', '2007-05-04 15:47:00', NULL, NULL, 'ACCOVA RADIATEURS', NULL, NULL, NULL, NULL, '2007-01-11 00:00:00', '0', 'mondocserver', NULL, '2007#05#00000002#0000#', '0000.PDF', '', NULL, '55c1c9a1e83d412a236b66c2140bac31', 14162, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'NEW', NULL, NULL, NULL, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '7 rue Jean Mermoz', NULL, NULL, NULL, '91080', NULL, NULL, NULL, 'COURCOURONNES\r', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
    INSERT INTO res_x (RES_ID, TITLE, SUBJECT, DESCRIPTION, PUBLISHER, CONTRIBUTOR, TYPE_ID, FORMAT, TYPIST, CREATION_DATE, AUTHOR, AUTHOR_NAME, IDENTIFIER, SOURCE, DOC_LANGUAGE, RELATION, COVERAGE, DOC_DATE, RIGHTS, DOCSERVER_ID, ARBOX_ID, PATH, FILENAME, OFFSET, LOGICAL_ADR, FINGERPRINT, FILESIZE, IS_PAPER, PAGE_COUNT, SCAN_DATE, SCAN_USER, SCAN_LOCATION, SCAN_WKSTATION, SCAN_BATCH, BURN_BATCH, SCAN_POSTMARK, ENVELOP_ID, STATUS, DESTINATION, APPROVER, VALIDATION_DATE, WORK_BATCH, ORIGIN, IS_INGOING, PRIORITY, CUSTOM_T1, CUSTOM_N1, CUSTOM_F1, CUSTOM_D1, CUSTOM_T2, CUSTOM_N2, CUSTOM_F2, CUSTOM_D2, CUSTOM_T3, CUSTOM_N3, CUSTOM_F3, CUSTOM_D3, CUSTOM_T4, CUSTOM_N4, CUSTOM_F4, CUSTOM_D4, CUSTOM_T5, CUSTOM_N5, CUSTOM_F5, CUSTOM_D5, CUSTOM_T6, CUSTOM_T7, CUSTOM_T8, CUSTOM_T9, CUSTOM_T10, CUSTOM_T11, CUSTOM_T12, CUSTOM_T13, CUSTOM_T14, CUSTOM_T15) VALUES (104, 'test', NULL, 'test', NULL, NULL, 'Value Added Tax Declaration', 'TXT', 'demo', '2007-05-14 10:10:15', '', '', 'testsluiop', NULL, NULL, NULL, NULL, '2007-05-16 00:00:00', '0', 'mondocserver', NULL, '1#', '252.txt', NULL, NULL, '395b5e7c933a101b9c11b3b8773dd059', 239, NULL, NULL, '0000-00-00 00:00:00', '', NULL, '', NULL, NULL, NULL, NULL, 'NEW', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'informatique', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
    Des très longues lignes , je l'avoue .

    voila l'erreur renvoyé :
    Server: Msg 242, Level 16, State 3, Line 1
    The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.

    Si vous avez une idée , faite moi signe .

    Merci d'avance ^^

  9. #9
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2005
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 215
    Points : 471
    Points
    471
    Par défaut
    Ca marche si tu mets tes dates dans l'ordre "à la française" :
    '16-05-2007 00:00:00'.
    Dans ton cas, la 2° ligne est interprétée comme le 05 du mois 16 de 2007, d'où ton problème.

  10. #10
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 936
    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 936
    Points : 51 753
    Points
    51 753
    Billets dans le blog
    6
    Par défaut
    Utilisez le format de date ISO court (norme) et non un format spécifique. Lisez l'article que nous avons écrit sur le sujet :
    http://baptiste-wicht.developpez.com...-sql/datetime/

    a +

Discussions similaires

  1. import de données du mysql vers sql server
    Par da_latifa dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 06/10/2009, 16h40
  2. import de données du mysql vers sql server
    Par da_latifa dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 05/10/2009, 17h46
  3. SQL SERVER 2005 Attacher une BDD
    Par mickelo dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 20/02/2008, 11h22
  4. Importer une BDD de MySQL à Sql serveur 2005 ?
    Par housni dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 25/06/2007, 20h06
  5. Importer des données de Mysql vers SQL server 2005
    Par housni dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/06/2007, 19h02

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