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

Langage SQL Discussion :

Script SQL Serveur - MySQL


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2019
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 46
    Par défaut Script SQL Serveur - MySQL
    Bonjour à tous,

    Je suis en train de créer un document technique sur (VM, MySQL, BDD,...)
    Mais je m'y connais pas du tout en SQL Serveur.. il y a quelques changements entre SQL Server et MySQL.
    J'ai un script à changer en SQL Serveur juste pour mes techniciens quoi..
    Si quelqu'un connais le SQL Serveur qui pourrais être gentille et me le convertir en SQL Serveur ?

    J'ai pas envie de passé des heures et des heures sur un Script qui pourrait se changer en 2 minutes..

    Merci d'avance

    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
    CREATE database MeshliumDB;
     
                    CREATE TABLE `sensorParser` (
                      `id` int(11) NOT NULL AUTO_INCREMENT,
                      `id_wasp` varchar(16) COLLATE utf8_unicode_ci DEFAULT NULL,
                      `id_secret` varchar(22) COLLATE utf8_unicode_ci DEFAULT NULL,
                      `frame_type` int(11) DEFAULT NULL,
                      `frame_number` int(11) DEFAULT NULL,
                      `sensor` varchar(16) COLLATE utf8_unicode_ci DEFAULT NULL,
                      `value` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
                      `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
                      `sync` bigint(10) unsigned NOT NULL DEFAULT '0',
                      `raw` varchar(100) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'noraw',
                      `parser_type` tinyint(3) NOT NULL DEFAULT '0',
                      `MeshliumID` varchar(150) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'meshlium',
                      PRIMARY KEY (`id`),
                      KEY `id_wasp` (`id_wasp`),
                      KEY `visualizer` (`id_wasp`,`timestamp`),
                      KEY `time` (`timestamp`),
                      KEY `tw` (`id_wasp`,`sensor`)
                    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1;
     
                    GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'passw';
                    FLUSH PRIVILEGES;

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 636
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Certains logiciels de modélisation sont capables de faire ce travail : du script vous revenez au MLD ou MCD puis vous changez de SGBD et regénérez le script

  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
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    En ce qui concerne le portage de MySQL vers SQL Server (ou la migration de MySQL vers SQL Server), il y a énormément de différences entre MySQL qui est un SGBD pour bidouilleur, faiblement relationnel, très peu respectueux de la norme SQL et farci de bugs, et de l'autre côté MS SQL Server qui est un outil d'entreprise, fortement relationnel, très respectueux de la norme SQL et hyper fiabilisé et sécurisé.

    De ce fait le portage de l'un vers l'autre est complexe car la plupart des scripts MySQL sont strictement propriétaire...
    1) les accents entourant les identifiants SQL (nom de table, colonne...) doivent être remplacés par des guillemets (norme SQL)
    2) les types de données entiers (TINYINT, INT, BIGINT par exemple) n'ont pas d'échelle (par exemple INT(11) ça 'existe pas en SQL => INT tout simplement, l'échelle étant là parce que MySQL est incapable d'implémenter les contraintes CHECK...)
    3) MySQL ne connais qu'une seule famille de chaines de caractères le CHAR/VARCHAR, alors que la norme SQL (et donc SQL Server) en connais 2 : CHAR/VARCHAR (codage ASCII) et NCHAR/NVARCHAR (codage UNICODE). Il faut choisir selon vos besoins, car cela à des conséquences sur les performances et les fonctionnalités....
    4) Les collations (clause COLLATE) sont spécifiques à MySQL. L'équivalent de utf8_unicode_ci dans SQL Server peut être l'une des 776 collation UTF8 CI disponibles dans SQL Server. Obtenez la liste avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM sys.fn_helpcollations() WHERE name LIKE '%?_CI?_%?_UTF8' ESCAPE '?'
    5) AUTO_INCREMENT est spécifique et n'existe pas dans la norme SQL. la norme c'est IDENTITY (supporté par MS SQL Server)
    6) le type "timestamp" est à remplacer par DATETIME2
    7) toute la partie suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    KEY `id_wasp` (`id_wasp`),
                      KEY `visualizer` (`id_wasp`,`timestamp`),
                      KEY `time` (`timestamp`),
                      KEY `tw` (`id_wasp`,`sensor`)
                    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1;
    N'existe pas dans la norme SQL est est à virer.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Le mieux étant effectivement d'utiliser un outil de modélisation qui permet la rétro-modélisation. je vous conseille à ce propos PowerAmc de Sybase/SAP. Vous pouvez le télécharger et le tester 15 jours gratuitement. Il n'existe pas d'équivalents dans le monde free à ce type d'outil.

    Il y a aussi l'assistant de migration de Microsoft...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/02/2019, 23h45
  2. Différence entre MySql et sql serveur
    Par nina_2006 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 30/10/2006, 16h12
  3. [HyperFile Client/Serveur]Exécuter un script sql complet
    Par thecaptain dans le forum HyperFileSQL
    Réponses: 5
    Dernier message: 26/08/2006, 14h40
  4. obtenir script sql pour le donner à l'hebegeur ( bd mysql)
    Par hafedh1211 dans le forum Installation
    Réponses: 1
    Dernier message: 04/03/2006, 15h36
  5. de Mysql à sql serveur
    Par zola dans le forum JDBC
    Réponses: 3
    Dernier message: 08/11/2004, 18h02

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