begin process at 2012 05 26 22:28:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Oracle

 > 

Migration

 > 

migration requetes microsoft SQL vers SQL oracle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

migration requetes microsoft SQL vers SQL oracle

mardi 23 juin 2009 à 12:02:20 | migration requetes microsoft SQL vers SQL oracle

alamoa

Bonjour, je recherche un outil (ou une methode) me permettant de migrer mes requetes ecrites pour Microsoft SQL en Oracle SQL. J'ai farfouillé sur le site , sur le net, on trouve l'inverse uniquement (oracle vers microsoft) merci d'avance
mercredi 24 juin 2009 à 12:10:10 | Re : migration requetes microsoft SQL vers SQL oracle

nivsql

Si cela ne concerne que des requete simples il n'y a pas de probleme de toute facon, SQL Server etant beaucoup plus normatif qu'Oracle les requete SQL Server fonctionnent sur oracle. S'il s'agit de bloc de traitement T-SQL a transformer en PL/SQL ca risque d'etre un peu plus complexe. Je ne connais pas d'outil mais selon la complexité du code on doit pouvoir établir des regles de transformations. Je vais travailler la dessus, je te tiens au courrant.
mercredi 24 juin 2009 à 12:56:49 | Re : migration requetes microsoft SQL vers SQL oracle

alamoa

merci: en fait oui les requetes simples fonctionnent mais un truc tout bete : en SQL : select top 1 * from TABLE where CONDITION s'ecrit en oracle : select * from TABLE where CONDITION and rownum = 1 ca a l'air bete mais si on multipli ca par 10000 ou 20000, la galere !!! merci de ta participation
mercredi 24 juin 2009 à 13:10:49 | Re : migration requetes microsoft SQL vers SQL oracle

nivsql

Réponse acceptée !

Cela fait partie des synthaxes qui n'appartiennent pas a la norme. Elles sont donc implémentées au bon vouloir des éediteurs. Cela vas etre le cas de toutes les synthaxe qu'on pourrait appeler "Cosmétique" (de présentation). Mais en dehors de ces synthaxe la, cela devrait passer correctement.

mercredi 24 juin 2009 à 13:19:11 | Re : migration requetes microsoft SQL vers SQL oracle

nivsql

Tant que je suis la je vais te donner un premier tips qui me viens en tête :

La fonction SQL Server coalesce() est a remplacer par nvl() avec une difference majeure, coalesce accepte un nombre infinie d'argument, nvl n'en accepte que 2. Cela dis les 2 fonctions ont la meme utilité dans 99.9% des cas.

Pour rappel :
SQL :  coalesce(colonne1, 'label 1') => Si colonne1 est null alors remplace la valeur null par 'label 1'
SQL non traductible en oracle : coalesce(colonne1, colonne2, ...,colonneN, 'label1') => Si colonne1 est null utilise la valeur de colonne2 sauf si elle est null dans ce cas prend celle de colonne3 etc, en dernier lieu si colonneN est null prend 'label1'.
Oracle : nvl(colonne1, 'label 1') => Si colonne1 est null alors remplace la valeur null par 'label 1'
vendredi 26 juin 2009 à 13:16:39 | Re : migration requetes microsoft SQL vers SQL oracle

nivsql

Réponse acceptée !
Après avoir creuser un peu le sujet je pense que tu devra aussi faire attention aux appel de fonction dans les requete, notement les fonction de manipulation de chaine de caracteres et de dates qui different entre les 2 moteurs.

Hormis cela, le reste doit etre compatible, notement les appel de CASE dans les requete qui sont compris par ORACLE depuis la version 9i.
Si toutefois tu avais un probleme avec un CASE tu pourras le migrer avec la fonction oracle DECODE.

Dans les autres Tips au niveau de la manipulation des champs date Oracle offre 2 fonctions assez simple (bien plus qu'en SQL Server) TO_DATE et TO_CHAR.

Pour exemple une synthaxe SQL Server CONVERT(VARCHAR, <champ date>, 103) s'ecrira TO_CHAR(<champ date>, 'DD/MM/YYYY') et inversement CONVERT(DATETIME, <chaine de caractere de type JJ/MM/AAAA>, 103) deviendra TO_DATE(<chaine de caractere de type JJ/MM/AAAA>, 'DD/MM/YYYY')

Je précise à ce titre qu'oracle est bien plus souple que SQL Server dans ce genre de manipulation puisque SQL Server implémente un nombre défini de formatage de date (voir tableau dans l'aide de CONVERT) alors qu'oracle ne requiere pour la fonction TO_DATE qu'un pattern libre composé de sous pattern défini. Rien ne t'empeche en Oracle d'ecrire une date sous la forme DD£MM¨YYYY si ca t'amuse.
vendredi 26 juin 2009 à 14:00:41 | Re : migration requetes microsoft SQL vers SQL oracle

alamoa

merci beaucoup pour ces precisions . je vais essayer de ma faire moi meme le traducteur : car notre façon d'ecrire les requetes avec le SQL server est "exotique" . en fait nous gerons une appli ecrite (et sans cesse ameliorée voir pluggée de specifs suivant les clients) toujours ecrite a la base pour SQL Server, mais nous avons des clients aussi sous ORACLE donc on voudrait eviter de tout reecrire en oracle a chaque fois : on ne peut pas ecrire d'abord en oracle et convertir apres car trop peu de nos developpeurs maitrisent Oracle . Voila encore merci tres cordialement


Cette discussion est classée dans : sql, microsoft, oracle, requetes, migration


Répondre à ce message

Sujets en rapport avec ce message

Migration SQL Server vers Oracle : ordre de tri [ par Thanos_the_yopper ] Bonjour,Nous venons de migrer une base de données de SQL Server vers Oracle et on a des problèmes au niveau des tris (Order By asc). Sous SQL Server, migration oracle vers sql server [ par verbeyst ] Bonjour,J'implémente une application web qui se connecte sur une db oracle. Je voudrais mainetant  "générer une copie" de ma db oracle en sql server.V Migration de sql vers oracle [ par laymouna98 ] Salut à tous SVP je veux une version complète d'un outil gratuit qui me permet de migrer ma base SQL Server 2000 vers Oracle 10g j'ai essayé avec Requetes SQL !! [ par lolo80000 ] bonjour à tous,à partir du numero de processus dans la table processus je voudrai recuperer tout les champs de la table objectif, mais je n'y arrive v probleme migration des users sql server 6.5 vers 2000 [ par yeye75 ] Bonjour,Je travaille actuellement à la migration de sql server 6.5 à sql server 2000 via l'assistant de migration. Les objets tables\PS ont été correc erreur ssis [ par gperuch ] Bonjour,Je vais faire un petit post avec une auto réponse car j'ai ramé pour trouver la cause de mon pb et que je ne le souhaite à personneLe Problème SQL ? Qui pourrait me l'expliquer ? [ par talavera ] Bonjour, Parmi vous tous, experts en SQL[^^clinoeil1], qui pourrait m'expliquer qu'est-ce que le SQL ? BOn, je sais que c'est un language de base de accés a sql+ [ par mima0123 ] bonjour,aprés l'installation de oracle 8i, j'ai voulu accéder à sql + mais ça n'a pas marché un message m'a dit que  ORACLE NOT AVLAIBLE, que ce la ve traduction de sql pour R [ par yannickramage ] Bonjour,Je débute en programmation sous R (logiciel de stat dérivé de S+), et je ne trouve pas de guide ou de tutoriel pour intégrer les requetes acce Oracle SQL Developper [ par jojolemariole ] Bonjour,J'ai un problème avec Oracle SQL Developper. Il plante complètement (freeze de l'IHM) lorsque je clique sur l'onglet "Données" de certaines ta


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,482 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales