35

データ アクセス クラス、ストアド プロシージャなどを生成するための XSD のセットがあります。

私が持っていないのは、これらからデータベース テーブルを生成する方法です。DDL ステートメントを生成するツールはありますか?

データセット テーブルではなく XSDがあるため、これはCreate DB table from dataset tableと同じではありません。

4

8 に答える 8

43

XSD2DBと呼ばれるコマンドラインツールがあります。これは、sourceforgeで入手可能なxsdファイルからデータベースを生成します。

于 2009-04-20T15:20:56.727 に答える
25

商用製品: Altova のXML Spy

これに対する一般的な解決策はないことに注意してください。XSD は、リレーショナル データベースにマップされないものを簡単に記述できます。

これを「自動化」することはできますが、XSD はリレーショナル データベースを念頭に置いて設計する必要があります。そうしないと、うまく機能しません。

XSD にうまくマッピングできない機能がある場合は、(1) ある種のマッピングを設計し、(2) XSD を DDL に変換する独自のアプリケーションを作成する必要があります。

そこに行って、それをしました。雇用のための仕事 -- 利用できるオープン ソースはありません。

于 2008-09-26T10:29:28.667 に答える
7

そのために XSLT を使用します。XSD を作成し、SQL コマンドを出力する手書きの XSLT を介してデータ モデルを渡します。XSLT を作成することは、独自のプログラムやスクリプトを作成するよりもはるかに高速で再利用可能です。

少なくともそれが私が職場で行っている方法であり、そのおかげで私はSOにたむろする時間ができました:)

于 2008-09-26T10:59:36.300 に答える
6

XSD ファイルを使用して SQL データベース スキーマを作成する最良の方法は、Altova XMLSpy と呼ばれるプログラムです。これは非常に簡単です:

  1. 新しいプロジェクトを作成する
  2. DTDs / Schemas フォルダーで、右クリックして [ファイルの追加] を選択します。
  3. XSD ファイルを選択します
  4. ダブルクリックで追加されたXSDファイルを開く
  5. ツールバーに移動し、変換を見てください
  6. [XML スキーマから構造データベースを作成] を選択します。
  7. データ ソースを選択します
  8. 最後に、ルート呼び出しをエクスポートするように指定すると、スクリプト スキーマはすぐに SQL Server に残され、クエリが実行されます。

それが役に立てば幸い。

于 2013-11-27T19:32:31.920 に答える
4

XML スキーマは階層データ モデルを記述しており、リレーショナル データ モデルには適切にマップされない場合があります。XSD をデータベース テーブルにマッピングすることは、オブジェクトをデータベース テーブルにマッピングすることと非常によく似ています。実際、両方を行う Castor のようなフレームワークを使用できます。XML スキーマを取得して、クラス、データベース テーブル、およびデータ アクセス コードを生成できます。現在、同じことを行う多くのツールがあると思いますが、学習曲線があり、デフォルトのマッピングはほとんどの場合、必要なものではないため、使用するツールをカスタマイズするのに時間を費やす必要があります.

XSLT は、必要なコードを正確に生成する最速の方法かもしれません。それが小さなスキーマのハードコーディングである場合、一連の新しいテクノロジーを評価して学習するよりも高速である可能性があります。

于 2008-11-18T01:08:42.227 に答える
0

Visual Studio 2k8 の XSD ツールを見てみましょう... xsd からリレーショナル データセットを作成しました。

于 2008-09-27T17:23:58.107 に答える
0

Axis wsdl2java (.xsd ファイルを取り込める) を使用して Java モデルを作成します。

Java Model を取り込む Java 用のデータベース生成ツールを使用します。確かにHibernateのようなものはこれを行うことができますか? 仕事の時間を節約するために、独自のツールを作成しました (数日かかり、Java でも CRUD コードを生成します)。

または、すべてが正しく、適切であることを確認できるように、手動で行うこともできます。データベース ツールは十分に優れているため、モデルのテーブルの作成をそれほど問題なく行うことができます。

于 2008-09-26T10:54:03.740 に答える
0

hyperjaxb (バージョン 2 および 3) は、実際に hibernate マッピング ファイルと関連するエンティティ オブジェクトを生成し、指定された XSD とサンプル XML ファイルのラウンド トリップ テストも実行します。ログ出力をキャプチャして、DDL ステートメントを自分で確認できます。少し微調整する必要がありましたが、これで基本的な設計図ができました。

于 2008-11-18T00:45:55.813 に答える