Microsoft T-SQL pour Oracle SQL traduction
J'ai travaillé avec T-SQL depuis des années, mais je viens d'emménager à une organisation qui va nécessiter la rédaction de certaines Oracle choses, probablement de simples opérations CRUD au moins jusqu'à ce que je trouve mes pieds. Je ne vais pas être la migration des bases de données de l'un à l'autre simplement en interagissant avec Oracle bases de données à partir d'une Application perspective de Développement. Est qu'il y a de l'outil ou de l'utilitaire à la disposition de traduire facilement un code T-SQL dans Oracle SQL, un mot-clé mapper est le genre de chose que je suis à la recherche d'.
P. S. je suis trop paresseux pour RTFM, d'ailleurs il ne va pas être une grande partie de mon rôle donc, je veux juste quelque chose à me lever à la vitesse un peu plus rapide.
Vous devez vous connecter pour publier un commentaire.
La différence de langue répertoriés à ce jour sont trivial par rapport à la logique des différences. N'importe qui peut recherche NVL. Ce qui est dur à la recherche est
DDL
Dans SQL server, vous manipulez votre schéma, n'importe où, n'importe quand, avec peu ou pas de chichi.
Dans Oracle, nous n'aimons pas les DDL des procédures stockées de sorte que vous avez à sauter à travers des cerceaux. Vous avez besoin d'utiliser EXÉCUTION IMMÉDIATE pour effectuer un DDL fonction.
Tables Temporaires
DANS SQL Server lors de la logique devient un peu difficile, le point commun, c'est-à-raccourci sql et d'obtenir une réponse à une table temporaire, et puis la prochaine étape est réalisée à l'aide de cette table temp.
MSSS, il est très facile à faire.
Dans Oracle nous ne sommes pas comme ça. En forçant un résultat intermédiaire vous empêcher complètement l'Optimiseur de trouver un raccourci pour vous. MAIS Si vous devez vous arrêter à mi-chemin, et de pérenniser les résultats intermédiaires Oracle veut vous faire le temp de table à l'avance, pas à la volée.
Serrures
Dans le MSSS vous vous inquiétez au sujet de verrouillage, vous avez nolock à appliquer à DML, vous avez l'escalade de verrous à réduire le nombre de verrous.
Dans Oracle nous ne vous inquiétez pas à propos de ces de cette façon.
Lire Commis
Jusqu'à récemment, le MSSS n'a pas pleinement poignée d'isolation Read committed, si vous inquiet au sujet de lectures incorrectes.
Oracle a été de cette façon depuis des décennies.
etc
MSSS n'a pas de notion de la Bitmap d'index, l'IDO, le Tableau de Clusters, Seule la Table de hachage des clusters, non index de l'application de contraintes uniques....
J'ai l'impression la plupart des réponses se concentrent sur la migration d'une base de données entière ou seulement quelques différences entre T-SQL et PL/SQL. J'ai récemment eu le même problème. L'Oracle de la base de données existe, mais j'ai besoin de convertir l'ensemble de la charge de scripts T-SQL ou PL/SQL.
J'ai installé Oracle SQL Developer et a couru la Traduction De Zéro Éditeur (Outils > Migration > Traduction de Zéro de l'Éditeur).
Ensuite, il suffit d'entrer votre T-SQL, choisissez la bonne traduction dans le dropdownlist (il devrait être par défaut sur 'T-SQL, PL/SQL"), et les convertir.
J'ai de choses à mentionner.
1) Lorsque j'ai travaillé sur Oracle 8, vous ne pouviez pas faire "Select @Result", vous avez eu à utiliser à la place la table factice comme suit "Select @Result from dual". Pas sûr que le ridicule existe toujours.
2) Dans l'Oracle du monde, ils semblent aimer les curseurs et vous feriez mieux de lire sur eux, ils les utilisent tout le temps AFAICS.
Bonne chance et au plaisir,
il n'est pas différent de MS SQL. Heureusement, je n'ai pas à travailler avec elle, et je suis de retour dans le confort chaleureux de MME outils.
Si vous remplacez votre ISNULL et NVL non-sens avec FUSIONNENT, il va travailler en T-SQL et PL/SQL!
Les différences les plus importantes pour la plaine de T-SQL sont:
Note. Je suppose que vous n'utilisez pas le obsolète SQL Server *= syntaxe des jointures
@jodonell: La table de votre lien est un peu dépassé, oracle est un peu plus conformes aux normes après 9i l'appui des choses comme des CAS et ANSI jointures externes
Il n'est pas trivial de carte avant et en arrière, donc je doute qu'il ya un outil qui le fait automatiquement. Mais ce lien peut t'aider: http://vyaskn.tripod.com/oracle_sql_server_differences_equivalents.htm
J'ai fait un peu de SQL server vers oracle migrations. Il n'y a aucun moyen de migrer sans avoir à réécrire le code backend. Trop de différences entre les 2 bases de données et plus important encore, les différences entre les 2 ont un état d'esprit de la part des programmeurs. Beaucoup de gestionnaires pense que les 2 sont interchangeables, j'ai eu des gestionnaires de me demander de copier les procédures stockées à partir de SQL server et de les compiler dans oracle, pas la moindre idée! Le crapaud est de loin le meilleur outil sur le marché pour soutenir une application oracle. SQL developer est ok, mais a été décevante par rapport à crapaud. J'espère que oracle va attraper leur produit jusqu'à crapaud, un jour, mais il n'est pas encore là. Bonne journée 🙂 les chances sont que si vous effectuez une migration vers oracle c'est pour une raison et afin de répondre à cette exigence, vous aurez besoin de réécrire le code principal ou que vous aurez beaucoup de questions.
Dans Oracle SQL Developer, il existe un outil appelé Traduction Zéro de l'Éditeur. Vous pouvez le trouver dans Outils > la Migration.
L'Oracle SQL Developer est un téléchargement gratuit de Oracle et il est très facile d'installation.
Si vous êtes en train de faire une conversion, plutôt que d'essayer de prendre en charge deux versions, vous devez regarder Oracle Migration Workbench. Cet outil fonctionne avec Oracle SQLDeveloper (que vous devriez vraiment avoir si vous travaillez avec Oracle). Ce n'est qu'une conversion du schéma, de données, et certains des T-SQL, PL/SQL. Connaissant bien, je l'ai trouvé sur un 80% de l'emploi. Assez bon pour le faire il la peine de convertir la majeure partie des procédures, et de la main de convertir le reste "plus difficile" de régions inconnues.
Pas bon marché ($995), mais cet outil fonctionne très bien: http://www.swissql.com/products/sql-translator/sql-converter.html
Quelques personnes ont mentionné ici, la conversion d'avant en arrière. Je ne sais pas d'un outil pour convertir de MSSQL Oracle, mais j'ai utilisé le gratuit MME outil pour convertir une db Oracle MSSQL et il a travaillé pour moi et convertis en un grand db avec pas de problèmes, je peux appeler. Il est similaire à l'Accès à l'MSSQL outil MS aussi fournir gratuitement. Profitez de
jOOQ a mis à disposition du public, gratuitement traducteur, qui peut être consulté sur le site web ici: https://www.jooq.org/translate
Il prend en charge DML, DDL, et quelques-uns de procédure éléments de syntaxe. Si vous souhaitez exécuter la traduction localement via la ligne de commande, une licence peut être acheté et de la ligne de commande fonctionne comme suit:
Voir: https://www.jooq.org/doc/latest/manual/sql-building/sql-parser/sql-parser-cli
(Avertissement, je travaille pour le vendeur)