2009-10-02 13 views
1

Je suis en train de porter une application sybase sur mysql et bien sûr il y a des tonnes de problèmes de compatibilité sql, mais dont je ne vois pas un moyen facile sans changer tous les sql simple est que dans sybase vous pouvez vous référer à une table par notation db..table, mais dans mysql il nécessite db.table. Je suis un peu du côté de mysql sur celui-ci, mais c'est ce que c'est. Existe-t-il un moyen pour que mysql accepte cette syntaxe?Comment obtenir mysql pour accepter la base de données sybase ... notation

+2

Rechercher et remplacer de "db .." à "db". –

+0

J'ai essayé cela. Il y a beaucoup de dbs et certains d'entre eux sont déterminés dynamiquement, ce n'est donc pas si simple. Le ..->. ça ne marche pas très bien non plus. – stu

Répondre

0

J'ai fini par faire quelque chose comme ceci:

 
global replace .. with " + Defs.DELIMETER + " 
Then replace " + Defs.DELIMETER + ". with ... to take care of elipses 
Then replace " + Defs.DELIMETER + "" + Defs.DELIMETER + " with .... for those cases. 

qui a obtenu la plupart d'entre eux. Donc au moins maintenant c'est facilement modifiable.

1

utiliser un programme comme notepad ++ qui a la capacité de rechercher et de remplacer à travers un répertoire entier de fichiers. faire une recherche pour .. et le remplacer par .

+0

ou un outil en ligne de commande comme sed que vous pouvez exécuter tous vos fichiers si c'est une grosse tâche. – Deverill

+0

Oui, j'ai juste eu l'éclipse faire cela pour voir ce qui se passerait. Il est étonnant combien d'ellipses et d'autres utilisations pour .. il y a dans le code. – stu