XSDファイルからデータベーステーブルを作成するにはどうすればよいですか? [閉まっている]
-
02-07-2019 - |
質問
データアクセスクラス、ストアドプロシージャなどを生成するXSDのセットがあります。
これらからデータベーステーブルを生成する方法はありません-私のためにDDLステートメントを生成するツールはありますか?
これは、データセットテーブルからDBテーブルを作成とは異なります。データセットテーブルはありませんが、XSDがあります。
解決
商用製品:Altovaの XMLスパイ。
これに対する一般的な解決策はないことに注意してください。 XSDは、リレーショナルデータベースにマップされないものを簡単に記述することができます。
「自動化」を試みることはできますが、これは、リレーショナルデータベースを念頭に置いてXSDを設計する必要があります。そうしないとうまく機能しません。
XSDに適切にマッピングされない機能がある場合、(1)何らかのマッピングを設計し、(2)XSDをDDLに変換する独自のアプリケーションを作成する必要があります。
そこに行って、やった。雇用のために働く-利用可能なオープンソースはありません。
他のヒント
XSD2DB と呼ばれるコマンドラインツールがあり、sourceforgeで利用可能なxsdファイルからデータベースを生成します。 。
そのためにXSLTを使用します。 XSDを作成してから、SQLコマンドを出力する手書きのXSLTを介してデータモデルを渡します。 XSLTを書くことは、あなたが書くかもしれないカスタムプログラム/スクリプトよりずっと速く、再利用可能です。
少なくとも仕事でのやり方はそれで、おかげでSOにたむろする時間ができました:)
XMLスキーマは階層データモデルを記述し、リレーショナルデータモデルに適切にマッピングされない場合があります。データベーステーブルへのXSDのマッピングは、データベーステーブルへのマッピングオブジェクトに非常に似ています。実際、両方を行うCastorのようなフレームワークを使用できます。これにより、XMLスキーマを取得し、クラス、データベーステーブル、およびデータアクセスコードを生成できます。同じことをするツールがたくさんあると思いますが、学習曲線があり、デフォルトのマッピングはあなたが望むものではない可能性が高いため、使用するツールのカスタマイズに時間を費やす必要があります。
XSLTは、必要なコードを正確に生成する最も速い方法です。小さなスキーマのハードコーディングである場合、多数の新しいテクノロジーを評価して学習するよりも高速になる可能性があります。
XSDファイルを使用してSQLデータベーススキーマを作成する最良の方法は、Altova XMLSpyというプログラムです。これは非常に簡単です:
- 新しいプロジェクトを作成
- DTD / Schemasフォルダーで右クリックして[ファイルの追加]を選択
- XSDファイルを選択
- ダブルクリックして追加したXSDファイルを開きます
- ツールバーに移動して、変換を確認します
- [XMLスキーマから構造データベースを作成]を選択します
- データソースを選択
- 最後にルートコールをエクスポートし、すぐにスクリプトスキーマをSQL Serverに残してクエリを実行します。
お役に立てば幸いです。
Axis wsdl2javaを使用してJavaモデルを作成します(.xsdファイルを取り込むことができます)。
Javaモデルを取り込むJava用のデータベース生成ツールを使用します。確かにHibernateのようなものがこれを行うことができますか?仕事の時間を節約するために独自のツールを作成しました(数日かかり、JavaでもCRUDコードを生成します)。
または手動ですべて実行して、すべてが正しく正常であることを確認できるようにします。データベースツールが十分に優れているため、問題なくモデルのテーブルを作成できます。
Visual Studio 2k8のXSDツールをご覧ください。xsdからリレーショナルデータセットを作成しましたが、どうにかして役立つかもしれません。
hyperjaxb(バージョン2および3)は、実際には休止状態のマッピングファイルと関連するエンティティオブジェクトを生成し、特定のXSDおよびサンプルXMLファイルの往復テストも行います。ログ出力をキャプチャして、DDLステートメントを確認できます。 私はそれらを少し調整しなければなりませんでしたが、最初の基本的な青写真を提供します。