2009-06-17 7 views
3

私はXMLスキーマを持っており、 "xsd.exe"がC#コードを生成できることを知っています。しかし、このツールや他のツールの助けを借りて、MS SQL Server 2005+テーブルをXSDから自動的に作成することが可能かどうかを知りたいです。XMLスキーマからSQL Serverテーブルスキーマを作成する方法は? (.NETとVisual Studio 2008を使用)

BTW 「xsd.exe」によって生成されたC#コードが価値があるものは得られませんでした。 CodeXSとxsd.exeで生成されるコードの違いは何ですか?

答えて

5

をあなたはこれが例 xsd2db.exe真-l -f [サーバー名] -n [データベース名]でXSD2DBユーティリティ

を使用することができますD -s:\のpo.xsdをヘルプ http://xsd2db.sourceforge.net/

0

XMLスキーマを正常に解析できれば、適切なデータベーススクリプトを作成して実行し、テーブルを作成することができます。

+0

しかし、どのようにのために-t SQL

リンク?手動でスクリプトを書いていますか?それを自動的に行う方法はありませんか? –

+1

Jader Dias:私は分かりませんが、このように見てください...ある時点で誰かによって書かれた自動方法があれば、すでにそこに自動解決策がない場合は、自分で作成しますか? – TheTXI

+1

@TXI:マッピングする必要はないので、自動的にマップする必要はありません。 XMLはリレーショナルではありません。 –

2

はところで、私はC#のコード は「Xsd.exeではによって生成されたものを取得していません"価値がある。

私はあなたが何を意味するかと仮定していますが、それが生成するコードの目的は、.NETでのMicrosoftのシリアル化サブシステムを使用してシリアライズすることです

を「私は、生成されたコードが有用であるかを理解していない」です。新しいXmlSerializer(typeof(GeneratedType))を作成すると、その上でSerialize()およびDeserialze()を呼び出して、Xmlおよびオブジェクトとの間でやりとりできます。

CodeXSなどのより複雑なコードジェネレータでは、ヘルパーを生成するため、さらに簡単になります。直列化を解除するGeneratedType.FromXML(Stream/String)と直列化するmyGeneratedType.Xml。

これらの生成クラスを使用すると、公開されたスキーマを処理でき、スキーマに適合して生成されたXMLが解析され、これらのタイプを使用して生成されるという確信が得られます。 XMLからデータを取得する作業(XML DOMアクセスなし)を行う必要はなく、スキーマに準拠したXMLの生成について2回考える必要はありません。それだけで動作します:)

+0

ありがとう、私はCodeXS生成コードを使用し、それは "xsd.exe"生成コードよりもはるかに簡単で使いやすくなっているようです。 –

+0

CodeXSをダウンロードできる良いチュートリアルや場所はありますか?それはまだ維持されていますか? – dmcgill50

関連する問題