OVH Cloud OVH Cloud

Migration Access -> SQL Express 2005

2 réponses
Avatar
Jean-Louis Vergne
Bonjour,

Je suis chargé de migrer un site organisé autour d'une base Access vers SQL
Serveur Express 2005.

La migration de la base en elle-même ne pose aucun problème.

Par contre, les pages du site (en ASP) contiennent plus de 2000 requêtes ...
Ce sont des requêtes en "SQL Access" avec des tas de IIF(), Left(), Format()
et autres joyeusetés du même genre (voir petit exemple ci-dessous).

Connaissez-vous des outils qui m'éviteraient de tout convertir "à la main" ?
Dans l'idéal il me faudrait un "convertisseur de requêtes Access en TSQL",
mais je n'ai rien trouvé sur le net.

Toute suggestion est la bienvenue !

D'avance, merci.
JLouis.

Exemple de requête Access :
-----------------------------------
SELECT TUser.NumUser,
IIf(Left([Motpasseuser],7)='ABCDEFG',Mid([MotPasseUser],8+Len([CodePop]),50),[MotpasseUser])
AS IsoleUser FROM TUser WHERE (((TUser.CodePop)=10) AND
((IIf(Left([Motpasseuser],7)=''ABCDEFG'',Mid([MotPasseUser],8+Len([CodePop]),50),[MotpasseUser]))='AA1'))


Après convertion :
-----------------------
SELECT NumUser,
case Left(MotPasseUser, 7)
when 'ABCDEFG' then
substring(MotPasseUser,8 + len(CodePop),50)
else
MotPasseUser
end
as IsoleUser
FROM TUser
Where
((CodePop = 10)
And
(case Left(MotPasseUser, 7)
when 'ABCDEFG' then
substring(MotPasseUser,8 + len(CodePop),50)
else
MotPasseUser
end
='AA1'))

2 réponses

Avatar
Christian Robert
Un outil qui peut vous aider à y arriver :

http://www.microsoft.com/sql/solutions/migration/access/default.mspx

Cordialement
Christian Robert - Winwise

"Jean-Louis Vergne" wrote in message
news:%
Bonjour,

Je suis chargé de migrer un site organisé autour d'une base Access vers
SQL Serveur Express 2005.

La migration de la base en elle-même ne pose aucun problème.

Par contre, les pages du site (en ASP) contiennent plus de 2000 requêtes
...
Ce sont des requêtes en "SQL Access" avec des tas de IIF(), Left(),
Format() et autres joyeusetés du même genre (voir petit exemple
ci-dessous).

Connaissez-vous des outils qui m'éviteraient de tout convertir "à la main"
?
Dans l'idéal il me faudrait un "convertisseur de requêtes Access en TSQL",
mais je n'ai rien trouvé sur le net.

Toute suggestion est la bienvenue !

D'avance, merci.
JLouis.

Exemple de requête Access :
-----------------------------------
SELECT TUser.NumUser,
IIf(Left([Motpasseuser],7)='ABCDEFG',Mid([MotPasseUser],8+Len([CodePop]),50),[MotpasseUser])
AS IsoleUser FROM TUser WHERE (((TUser.CodePop)) AND
((IIf(Left([Motpasseuser],7)=''ABCDEFG'',Mid([MotPasseUser],8+Len([CodePop]),50),[MotpasseUser]))='AA1'))


Après convertion :
-----------------------
SELECT NumUser,
case Left(MotPasseUser, 7)
when 'ABCDEFG' then
substring(MotPasseUser,8 + len(CodePop),50)
else
MotPasseUser
end
as IsoleUser
FROM TUser
Where
((CodePop = 10)
And
(case Left(MotPasseUser, 7)
when 'ABCDEFG' then
substring(MotPasseUser,8 + len(CodePop),50)
else
MotPasseUser
end
='AA1'))







Avatar
Jean-Louis Vergne
Bonjour,

Merci pour ce lien : je ne connaissais pas cet outil.

Malheureusement, il ne semble pas faire plus que :
- "cette requête est ok",
- ou : "cette requête doit être modifiée manuellement" ...

Tristesse !
JLouis.



"Christian Robert" <christian.robert@(sansspam)winwise.fr> a écrit dans le
message de news:
Un outil qui peut vous aider à y arriver :

http://www.microsoft.com/sql/solutions/migration/access/default.mspx

Cordialement
Christian Robert - Winwise

"Jean-Louis Vergne" wrote in message
news:%
Bonjour,

Je suis chargé de migrer un site organisé autour d'une base Access vers
SQL Serveur Express 2005.

La migration de la base en elle-même ne pose aucun problème.

Par contre, les pages du site (en ASP) contiennent plus de 2000 requêtes
...
Ce sont des requêtes en "SQL Access" avec des tas de IIF(), Left(),
Format() et autres joyeusetés du même genre (voir petit exemple
ci-dessous).

Connaissez-vous des outils qui m'éviteraient de tout convertir "à la
main" ?
Dans l'idéal il me faudrait un "convertisseur de requêtes Access en
TSQL", mais je n'ai rien trouvé sur le net.

Toute suggestion est la bienvenue !

D'avance, merci.
JLouis.

Exemple de requête Access :
-----------------------------------
SELECT TUser.NumUser,
IIf(Left([Motpasseuser],7)='ABCDEFG',Mid([MotPasseUser],8+Len([CodePop]),50),[MotpasseUser])
AS IsoleUser FROM TUser WHERE (((TUser.CodePop)) AND
((IIf(Left([Motpasseuser],7)=''ABCDEFG'',Mid([MotPasseUser],8+Len([CodePop]),50),[MotpasseUser]))='AA1'))


Après convertion :
-----------------------
SELECT NumUser,
case Left(MotPasseUser, 7)
when 'ABCDEFG' then
substring(MotPasseUser,8 + len(CodePop),50)
else
MotPasseUser
end
as IsoleUser
FROM TUser
Where
((CodePop = 10)
And
(case Left(MotPasseUser, 7)
when 'ABCDEFG' then
substring(MotPasseUser,8 + len(CodePop),50)
else
MotPasseUser
end
='AA1'))