1

Linux 環境で C++ プログラムを作成しました。現在、Visual Studio 2005 バージョンで作業する必要があります。

Oracle データベースからデータを取得する必要があるタスクがあります。私はこれまでこの種の仕事をしたことがありません。

私はグーグルで調べたところ、C++とC#でも可能であることがわかりました。Visual Studio 2005 のみを使用する必要があるため、C++ と C# のどちらのアプローチが優れているのでしょうか?

C ++を使用してOLE DBまたはOCCIを使用できることをGoogleから知りました。C# の場合は、OLE DB を使用する必要があります。

このタスクに使用する言語とアプローチを教えてください。

4

1 に答える 1

1

注意

Visual Studio 2005 は優れたツールではないためではなく、非常に古いため、Visual Studio 2008、2010、および現在の 2012 では大幅な改善が行われているため、使用しないように真剣に注意してください。Managed C++ は 2005 年以降、大幅に改善されました。新しい拡張機能とアドオンは 2005 のサポートと共にリリースされなくなり、多くのテクノロジ (Team Foundation Server、WCF、Windows Presentation Foundation など) のサポートは十分にサポートされていません。または、このバージョンではまったくサポートされていません。何をしようとしているのか、どの程度高度な計画を立てているのかによって、無料で商用プロジェクトがサポートされている Visual Studio Express エディションを調査する必要があります。

C# と C++

C# と C++ のどちらが優れているかについては触れません。C++ に精通している場合は、C++ を使い続ける方がおそらく簡単です。個人的には、.NET フレームワークが複雑なアプリケーションを構築する際の困難な部分の多くを抽象化するという事実により、C# のプログラミングははるかに簡単だと思います。これは完全にあなたの決定になるでしょう。

データベース技術

Windows プラットフォームで Oracle データベースに接続するには、いくつかのオプションがあります。

  • ODBC、OleDB の前身。それは十分に文書化されており、C++ からの使用方法に関する多くの例をおそらく見つけることができ、データベースも抽象化せず、より多くのローカルセットアップが必要になる場合があります。OleDB と ADO.NET のリリース以降、ODBC のサポートは減少しています。
  • Ole DB は、データベース プロバイダーを抽象化した改良版であり、(理論的には) データベース プラットフォームを切り替えることができます。ネイティブ C++、マネージ C++、および C# の優れたサポート。
  • ADO.NET は、Oracle Data Provider for .NET と組み合わせて、C# および Managed C++ を非常に適切にサポートします。抽象化により、異なるデータベースで簡単に再利用できます。デザイナーのサポートとコード生成 ( Entity Framework )。
  • Oracle Native API (Oracle Client)、ディープ ネイティブ統合、実行に関してはおそらく最も高速、Oracle データベース プラットフォーム専用のコードは再利用できません。最近はすべて ADO.NET に焦点が当てられているため、Visual Studio 内でデザイナーのサポートを見つけることはできないと思います。
于 2013-02-20T11:39:02.277 に答える