3

複数のデータベースをサポートするアプリケーションを作成する必要がある状況があります。複数のデータベースとは、クライアントが最初に Oracle、SQL Server、MySQL、PostgreSQL などのデータベースを使用できることを意味します。

NHibernate や MyBatis のような ORM を使用しようとしていました。しかし、それらには限界があり、使用するには専門知識が必要です。

そこで、Microsoft が提供する ADO.NET、OLEDB、ODP.NET などのデータ プロバイダーを使用することにしました。

データベースのロジックがすべてのデータベースで同じになるようにする方法はありますか? などを試しましたがIDbConeectionIDbCommandOracle (Ref Cursor) の場合に問題があります。

これを達成する方法はありますか?いくつかのリンクまたはガイドをいただければ幸いです。

編集:
DBTypes には問題があります。これらは列挙型であり、異なるデータ プロバイダーで異なる方法で定義されているためです。

4

4 に答える 4

0

ここに画像の説明を入力

マイクロサービスを作成し、残りの api を使用してそれらを接続するのはどうですか? あなた (およびおそらくあなたのチーム) は、ロジックと UI を処理するコア アプリケーションを提供できます。これはまだあなたの現在の技術に基づいています。ただし、ある種のデータベース接続を直接追加する代わりに、複数のタイプのマイクロサービス (asp.net またはコアに基づく) を提供して、残りの API を提供することができます。このようなマイクロサービスから各データベースからデータを取得します。たとえば、MySQl 用に 1 つのマイクロ サービスを開発し、MsSQL 用に別のマイクロ サービスを開発し、新しい顧客がオラクルを思いついたときに、期待される API を処理する新しい小さなマイクロサービスを作成します。

詳細情報 (.net コアに基づく) はこちら: https://docs.asp.net/en/latest/tutorials/first-web-api.html

これは、どの種類のテクノロジを使用するかを決定するチームのディスカッションだと思います。しかし、今日はマイクロ サービスを作成することをお勧めします。これにより、たとえばモバイルデバイス用の新しいアプリの添付もはるかに簡単になります:)

于 2016-06-12T12:47:56.307 に答える
0

はい、可能です。

現在、すべてのロジック関連データ (通常はメタデータと呼ぶことができます) が 1 つの DB 内にあり、日付が別の DB 内にあるという同じシナリオで作業しています。

するべきこと。2 つの異なるファイルに接続関連のパラメーターを含めるか、これらのファイルを prop ファイルとして呼び出すことができます。これらのpropファイルからパラメーターを取得する接続具象クラスが必要です。したがって、接続を作成する必要がある場合は、prop ファイルを指定するだけで、必要に応じて db 接続が作成されます。

于 2016-06-13T11:32:44.853 に答える
0

Microsoft の Data Access Components があなたに適していると思います。 https://en.wikipedia.org/wiki/Microsoft_Data_Access_Components

于 2016-06-03T10:51:09.803 に答える