OVH Cloud OVH Cloud

SQLServer et MySQL

3 réponses
Avatar
Roumegou Eric
Bonjour,

Je dois adapter mon appli à une base SQLServer.
Celle-ci est développée avec les accès alternatifs et une base mysql.
J'ai déjà réalisé le portage pour Oracle et SQLite mais je suis
totalement béotien en SQLServeur.

Mon idée est de partir d'un script de type DUMP mysql et de le
transformer pour obtenir un script pour sqlserver.

Pouvez vous me donner ou me confirmer les équivalences suivantes :

Mysql -------> SQLserver
Varchar ---> varchar
char --------> char
date --------> datetime mais s'il n'y a pas d'heure, est ce un pb ?
int ----------> int, mais est ce normal que l'on ne peut leur spécifier
une taille (ex int(8))
decimal ------> decimal
text (memo) --> text (est-ce bien le mème type, c'est pour stocker de
longues chaines de caractères et as-t-on le droit d'en avoir plusieurs
par tables)
blob ---> binary (je ne l'utilise pas pour le moment)

Plus inquiétant : l'autoincrément.
Comment gère-t-on cela en SQLServer. Est-ce le identity ?

Qu'est ce que le type uniqueidentifier ?
Et comment récupère-t-on un dernier id créé ? en mysql, c'est
SELECT LAST_INSERT_ID()

Idéalement, pourriez vous me convertir cet ordre mysql en sqlserver

DROP TABLE IF EXISTS `authentif`;
CREATE TABLE `authentif` (
`AUT_ID` int(8) unsigned NOT NULL auto_increment,
`AUT_REFEXT` varchar(15) default NULL,
`AUT_DESCR` varchar(50) default NULL,
`AUT_PWD` varchar(10) default NULL,
AUT_COMM text,
`DATE_CREAT` date default NULL,
`LOGIN_CREAT` varchar(10) default NULL,
`DATE_MODIF` date default NULL,
`LOGIN_MODIF` varchar(10) default NULL,
`SRC_CREAT` varchar(30) default NULL,
`SRC_MODIF` varchar(30) default NULL,
`REF_IMPORT` int(8) default NULL,
PRIMARY KEY (`AUT_ID`),
KEY `AUT_REFEXT` (`AUT_REFEXT`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Authentifications accés
sécurisés';

Merci de votre aide.

--
Eric Roumégou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)

3 réponses

Avatar
Pierre BOUSQUET
pourquoi ne pas partir d'une analyse Windev + connexion SQL + hcreation() ?

"Roumegou Eric" a écrit dans le message de
news:
Bonjour,

Je dois adapter mon appli à une base SQLServer.
Celle-ci est développée avec les accès alternatifs et une base mysql.
J'ai déjà réalisé le portage pour Oracle et SQLite mais je suis
totalement béotien en SQLServeur.

Mon idée est de partir d'un script de type DUMP mysql et de le
transformer pour obtenir un script pour sqlserver.

Pouvez vous me donner ou me confirmer les équivalences suivantes :

Mysql -------> SQLserver
Varchar ---> varchar
char --------> char
date --------> datetime mais s'il n'y a pas d'heure, est ce un pb ?
int ----------> int, mais est ce normal que l'on ne peut leur spécifier
une taille (ex int(8))
decimal ------> decimal
text (memo) --> text (est-ce bien le mème type, c'est pour stocker de
longues chaines de caractères et as-t-on le droit d'en avoir plusieurs
par tables)
blob ---> binary (je ne l'utilise pas pour le moment)

Plus inquiétant : l'autoincrément.
Comment gère-t-on cela en SQLServer. Est-ce le identity ?

Qu'est ce que le type uniqueidentifier ?
Et comment récupère-t-on un dernier id créé ? en mysql, c'est
SELECT LAST_INSERT_ID()

Idéalement, pourriez vous me convertir cet ordre mysql en sqlserver

DROP TABLE IF EXISTS `authentif`;
CREATE TABLE `authentif` (
`AUT_ID` int(8) unsigned NOT NULL auto_increment,
`AUT_REFEXT` varchar(15) default NULL,
`AUT_DESCR` varchar(50) default NULL,
`AUT_PWD` varchar(10) default NULL,
AUT_COMM text,
`DATE_CREAT` date default NULL,
`LOGIN_CREAT` varchar(10) default NULL,
`DATE_MODIF` date default NULL,
`LOGIN_MODIF` varchar(10) default NULL,
`SRC_CREAT` varchar(30) default NULL,
`SRC_MODIF` varchar(30) default NULL,
`REF_IMPORT` int(8) default NULL,
PRIMARY KEY (`AUT_ID`),
KEY `AUT_REFEXT` (`AUT_REFEXT`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Authentifications accés
sécurisés';

Merci de votre aide.

--
Eric Roumégou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)




Avatar
Roumegou Eric
Après mure réflexion, Pierre BOUSQUET a écrit :
pourquoi ne pas partir d'une analyse Windev + connexion SQL + hcreation() ?

"Roumegou Eric" a écrit dans le message de
news:
Bonjour,

Je dois adapter mon appli à une base SQLServer.
Celle-ci est développée avec les accès alternatifs et une base mysql.
J'ai déjà réalisé le portage pour Oracle et SQLite mais je suis
totalement béotien en SQLServeur.

Mon idée est de partir d'un script de type DUMP mysql et de le
transformer pour obtenir un script pour sqlserver.






parce que je n'ais pas l'acces natif sqlserveur, que le modèle est gros
et que je connais ce que fait WD avec Oracle et mysql depuis son
analyse, et je n'aime pas.

De plus, il me faudra aussi charger les données.

--
Eric Roumégou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Dev
Bonjour,
les hcreation créeent toutes les relations dans MsSQL ?

--
Cordialement
Christophe Charron

Service Développement
PROLOGIQ
7 bis Rue des Aulnes
69410 Champagne au Mont d'Or

Tel : 0 437 499 107
Fax : 0 437 499 105
mailto:

"Pierre BOUSQUET" a écrit dans le message de
news:432965f0$0$2859$
pourquoi ne pas partir d'une analyse Windev + connexion SQL + hcreation()


?

"Roumegou Eric" a écrit dans le message de
news:
> Bonjour,
>
> Je dois adapter mon appli à une base SQLServer.
> Celle-ci est développée avec les accès alternatifs et une base mysql.
> J'ai déjà réalisé le portage pour Oracle et SQLite mais je suis
> totalement béotien en SQLServeur.
>
> Mon idée est de partir d'un script de type DUMP mysql et de le
> transformer pour obtenir un script pour sqlserver.
>
> Pouvez vous me donner ou me confirmer les équivalences suivantes :
>
> Mysql -------> SQLserver
> Varchar ---> varchar
> char --------> char
> date --------> datetime mais s'il n'y a pas d'heure, est ce un pb ?
> int ----------> int, mais est ce normal que l'on ne peut leur spécifier
> une taille (ex int(8))
> decimal ------> decimal
> text (memo) --> text (est-ce bien le mème type, c'est pour stocker de
> longues chaines de caractères et as-t-on le droit d'en avoir plusieurs
> par tables)
> blob ---> binary (je ne l'utilise pas pour le moment)
>
> Plus inquiétant : l'autoincrément.
> Comment gère-t-on cela en SQLServer. Est-ce le identity ?
>
> Qu'est ce que le type uniqueidentifier ?
> Et comment récupère-t-on un dernier id créé ? en mysql, c'est
> SELECT LAST_INSERT_ID()
>
> Idéalement, pourriez vous me convertir cet ordre mysql en sqlserver
>
> DROP TABLE IF EXISTS `authentif`;
> CREATE TABLE `authentif` (
> `AUT_ID` int(8) unsigned NOT NULL auto_increment,
> `AUT_REFEXT` varchar(15) default NULL,
> `AUT_DESCR` varchar(50) default NULL,
> `AUT_PWD` varchar(10) default NULL,
> AUT_COMM text,
> `DATE_CREAT` date default NULL,
> `LOGIN_CREAT` varchar(10) default NULL,
> `DATE_MODIF` date default NULL,
> `LOGIN_MODIF` varchar(10) default NULL,
> `SRC_CREAT` varchar(30) default NULL,
> `SRC_MODIF` varchar(30) default NULL,
> `REF_IMPORT` int(8) default NULL,
> PRIMARY KEY (`AUT_ID`),
> KEY `AUT_REFEXT` (`AUT_REFEXT`)
> ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Authentifications accés
> sécurisés';
>
> Merci de votre aide.
>
> --
> Eric Roumégou
> http://cerbermail.com/?TSoulBerPA
> (cliquez sur le lien ci-dessus pour me contacter en privé)
>
>