データベースとしてMSSQLを使用しているASP.NET Webサイトを見てきました。少し前に開発しました。MySQLの場合、MSSQLだけが無料の代替手段として利用できるのはなぜですか。それで、問題は、MSSQLをASP.NETアプリケーションと同じくらい簡単にMySQLデータベースに統合することは可能ですか、そうするためにいくつかのAPIを使用する必要がありますか?
データベースとしてMSSQLを使用しているASP.NET Webサイトを見てきました。少し前に開発しました。MySQLの場合、MSSQLだけが無料の代替手段として利用できるのはなぜですか。それで、問題は、MSSQLをASP.NETアプリケーションと同じくらい簡単にMySQLデータベースに統合することは可能ですか、そうするためにいくつかのAPIを使用する必要がありますか?
回答:
ASP.NET/C#/MySQL Webアプリを本番環境で約3年間実行しています。よく動く。また、すべての副業にも使用しています。ADO.NETコネクタはVisual Studioにプラグインし、SQLSERVERコネクタと同様に機能します。ただし、いくつかの落とし穴があります。まず、私が見つけた限り、SQLSERVERのManagement Studioに相当する無料のツールはありません。Aqua Data Studioを使用していますが、少しコストがかかります。MySQL用の無料のRDMSがいくつかありますが、Management Studioに匹敵するものではありません。eclipseにはMySQLのプラグインがあり、それはかなり無料で無料だと聞いていますが、まだ試していません。また、MySQLでは、ストアドプロシージャを変更することはできません。削除して作成することしかできません。これは、ビジュアルスタジオのAにいくつかの問題を引き起こします。
ADO.NET MySQLコネクタは、System.DataおよびSystem.Data.SqlClient名前空間と完全にポリモーフィックであるため、SQLSERVERおよびMySQLのデータベースの複数のバージョンを同時に持つのは簡単です。これは、「私たちはマイクロソフトのみのショップです!」のようなくだらないことを言うMSの仲間である顧客がいる場合に役立ちます。まるで自分が話していることを実際に知っているかのように。これは、あなたが想像する以上に起こります。次に、最初から適切な設計があれば、追加のコーディングを行うことなく、代わりに古いSQLSERVERコードを使用できます。
私の最後の批評は、MySQLが.NETコネクタとDBエンジンの異なるバージョン間の下位互換性を維持しないことで悪名高いということです。MySQLを使用してサーバーをデプロイしている限り、これは問題ありませんが、ホスティングプロバイダーにサイトをデプロイしている場合は、注意してください。
私の意見では、追加の努力をする価値はありますが、多くのオープンソースプロジェクトに固有の欠点がいくつかあります。私の経験では、ms sqlserverと同じようにスケーラブルで高速ですが、T-SQLを知っている場合は、MySQL構文を比較的すばやくピックアップします。
プロジェクトの途中でデータベースを切り替える場合、SQL Server固有のタイプを使用している場合は、純粋にデータベース関連のタスク(データ移行)を実行する必要がある場合があります。また、ストアドプロシージャを作成した場合は、すべてを書き換える必要があります。
それ以外の場合、および新しいプロジェクトの場合は、まったく問題ありません。ADO.NETコネクタを使用するだけです:http : //dev.mysql.com/downloads/connector/net/
そして、Ryanが書いたように、ADO.NETを使用すると、誰かがそのコネクタを作成している限り、任意のデータベースに接続できます。そして、たくさんあります...
他の誰もが以前に言ったように、ASP.NET MVCでMySQLを使用できます。失うものの1つは、SQL ServerとのCLR統合です。複雑な計算があり、MySQLを使用して複製できない場合は、C#でストアドプロシージャを記述できると便利です。