2010-02-25 3 views
0

J'ai été chargé de convertir une base de données SQL Server dans une base de données MySQL 5. *. Je me sens bien à propos de la conversion entre les types de données.SQL Server à MySQL - mais quoi faire avec les sprocs?

Cependant, j'ai lu que MySQL fait ANSI, pas T-SQL, et ne supporte pas les curseurs. Ma question est, qu'est-ce que je suis supposé faire avec toutes mes fonctions SQL Server et sprocs (dont certains utilisent des curseurs) ?

Je veux "le faire de la bonne façon". Est-ce que je les déplace tous vers le code SqlCommand cmd = new SqlCommand("SELECT * FROM ...", con");, est-ce que je les déplace vers la procédure de MySQL, devrais-je essayer jQuery, ou LINQ, ou ...?

Le frontal sera toujours dans ASP.NET, mais il est possible que nous le réécrivions/le déplacions vers PHP.

+0

SQL Server fait aussi ANSI - T-SQL est juste une extension MS/Sybase de SQL –

+0

MySQL 5 a un support (limité?) Pour les curseurs: http://dev.mysql.com/doc/refman/5.0 /fr/cursors.html – tadamson

Répondre

1

Je ne pense pas que jQuery va aider, mais vous pourrez peut-être vous passer entièrement du SPROCS si vous passez à LINQ. Depuis que j'ai commencé à utiliser LINQ comme mon ORM (léger), j'utilise rarement un SPROC.

+0

J'ai quelques requêtes désagréables et désagréables pour certaines applications de reporting - une seule instruction de sélection T-SQL pour celles-ci peut être plus d'une centaine de lignes! LINQ va-t-il bien le gérer (c'est-à-dire ne pas vomir)? –

+0

Je n'ai pas de requêtes aussi complexes, mais j'en ai construit quelques-unes qui, en enchaînant divers composants, finissent par être assez complexes. En fonction de votre requête, c'est-à-dire, si vous construisez SQL pour gérer des parties facultatives de la requête, vous pourrez peut-être la simplifier en créant dynamiquement la requête dans LINQ. C'est-à-dire que vous avez du code dans l'application qui construit, disons, un filtre dynamiquement, en ajoutant seulement les composants nécessaires. La requête s'avère plus simple, mais vous disposez de la même puissance - une partie est simplement migrée vers l'application au lieu de la base de données. – tvanfosson

Questions connexes