クラスタリングと自動フェイルオーバー機能をサポートするために、システムをアップグレードしています。私たちのビジネスは、.NET 4 アプリケーション、Web アプリ、およびサービスを SQL Server Express 上で実行しています。SQL Server Standard にアップグレードすることはできますが、コストが理由で他のオプションを検討するようになりました。.NET データ層を ODP.NET と統合することは正当な選択肢ですか? 検索した後、私は否定的な ( viz )で 1 つまたは 2 つの傾向のあるステートメントを見てきましたが、それでも人々はとにかくそれを行っているようです. Visual Studio IDE のどの開発機能が失われますか? ご協力いただきありがとうございます!
3 に答える
さて、私は現在、Oracle と MS SQL Server で 20 年以上働いており、多くのプロジェクトを行ってきました。一部のプロジェクトは、すべての更新、メンテナンスなどを含めて、現在 10 年以上実行されています。
私の簡単な答えは、MS SQL Server を使い続けることです。技術的に優れた理由がある場合、または非常に大きなデータベースを計画している場合、およびすべての管理を処理するのに十分なスタッフがいる場合にのみ、Oracle にアクセスしてください。
主な理由は、SQL Server の方が保守がはるかに簡単だからです。また、Microsoft 環境にも大きく統合されます。
対照的に、オラクルの学習曲線は急勾配です。Oracle の処理は、MS SQL Server よりもはるかに「手動」です。それは良いことでもあります。なぜなら、あなたは細部までコントロールできるからです。または、専門家に支払う必要があります。そして、何をすべきかを本当に知っている人を見つけるのはそれほど簡単ではありません。
どちらのシステムも気に入っていますが、経験則として、通常は MS SQL Server を使用することをお勧めします。
既に MS SQL で作業しているため、エンティティ フレームワークであれ、その他のデータ実行であれ、その動作方法に慣れる必要があります。もちろん、Microsoft は非常に高いライセンス レートを持っています。しかし、他のデータベースに移動したい場合は、まったく問題ありません。私は個人的に MS SQL と MySQL の両方を使用しています。最初は構文関連の問題に直面するかもしれませんが、データのフェッチと保存のロジックは同じであることを覚えておいてください。さらに、それはあなたが新しい言語を学ばなければならないという利益をもたらし、それもはるかに少ないお金で犠牲にします.
私は何年も Oracle で .net を使用してきましたが、オプションが利用可能になるたびに、.net から移行しています。
すべてのデータベース コードがストアド プロシージャにあり、コード ビハインドまたはライブラリを介して呼び出し、ansi sql を使用する場合、ms sql から oracle への移行はかなり簡単になります。
TableAdapters を使用する場合、table1、table2、table3 などの古い学校の oracle 8 構文に入力した SQL を書き直し、結合条件を実行するための大きな where 句を使用します。また、SQL Developer で問題なく実行される SQL が TableAdapter では機能しないという奇妙なバグもあります。
Entity Framework を使用する場合、移行は非常に簡単ですが、MS SQL ドライバーは Oracle ドライバーよりもはるかに優れています。現在のドライバーのさまざまなエラーのために、オラクルの EF では実行できなかったクエリがいくつかありました。
さらに情報が必要な場合はお知らせください。
また、コストが移行を検討する主な理由である場合は、なぜ mysql を使用しないのでしょうか?