2017-08-29 8 views
0

私はデータベースフレームワーク(抽象的なバックエンドレイヤー)を設計しています。私は以下の要件を満たす必要があります。複数のデータベースベンダー(MS SQL、ORACLEなど)をサポートするオブジェクトセットを1つ維持します

1)データベースベンダーに応じて複数のデータベースベンダー(MS SQL、ORACLE)

2)オブジェクトの複数のセット(ストアドプロシージャ、ビュー、機能を維持できない) で構成することができ(MS SQL、oracle、my sql)

構成ファイルを変更して複数のデータベースベンダーをサポートするデータベース抽象レイヤーを開発した経験があります。

しかしデータベースのベンダーによれば、毎回異なるセットのオブジェクト(sp、ビュー)を維持する必要がありました。

今の状況は異なりますが、私は現在のシナリオを実装する方法を考えていません。 もし本当にありがとうと思う人には良い提案ができます。事前に

おかげで、

+0

http://guides.rubyonrails.org/active_record_basics.html – gotqn

+0

あなたは* database *オブジェクトの1組を意味しますか?つまり、テーブル、ビュー、ストアドプロシージャなどのDDLの1セットですか? – APC

+0

はい、ベンダータイプの異なるデータベースで同じデータベースオブジェクトを維持することは困難です。この問題を克服するために、私はデータベースオブジェクトの1つのセットを保持しようとしています。抽象レイヤーは共通のデータベースオブジェクトセットに接続します。 – Denuka

答えて

0

ご質問はStackOverflowのために、本質的に広すぎるが、私はちょうど/更新/削除/挿入を選択し、あなたは基本のANSI SQLにこだわるお勧めします。ステートメントを作成したり、トップなどを作成することさえできません。

これは、特定の方法で解決するのは簡単な問題ではなく、そのようにするための魔法の弾丸や革命的な考え方がないことを知るために、異なるORMライブラリの膨大な数を調べるだけです。存在していれば、他の誰かがそれをしていただろう - そうではなかった、彼らは多種多様な課題に対処するために大規模な図書館を作っている人々のチームを持っていただけである。

+0

ご返信ありがとうございます。はい、私はそれがあまりにも広い質問であることを知っている、それは私がこのシナリオを実装するために何らかのガイダンスが必要な理由です。 ORMツールは、私のすべての要件、特に2番目の要件を満たしていません。サービスとしての機能(FaaS)(サービスとしてのストアドプロシージャ)アプローチを使用することを考えています。私は間違っているかもしれませんが、私はこのシナリオを実装するための適切な方法があるべきだと考えています。 – Denuka

関連する問題