- PR -

XMLを使ってDBデータを一括ロードしたい

投稿者投稿内容
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2004-04-12 16:24
こんにちは、まゆりんです。
現在、WinAP(C#)開発の手伝いをしております。

DBデータの交換が目的で、
XMLからSQLServerで構築したDBに一括ロードする方法について調べております。
コンポーネントがあればと思い探したところ、ここに辿り着いたのですが、
そのコンポーネントはVB・VC++・VBScript・JScriptでないと使えないようです。

一括ロード処理をC#.NETかADO.NETで実現したくて引き続き調査していますが、
ご存知の方がいらっしゃいましたら教えて頂けないでしょうか?
宜しくお願い致します。

--環境-------------
 Windows2000Pro
 VS.NET2003
 SQLServer2000
-------------------
_________________
まゆりん @ わんくま同盟
Blog る。
CHN
ぬし
会議室デビュー日: 2002/03/07
投稿数: 382
投稿日時: 2004-04-12 16:31
こんにちは。
自力でゴリゴリ書いたら良いような気がしますが、
どういうことではない?

_________________
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-04-12 16:34
 DataSetにロードして、DataAdapterでINSERTする、とか、じゃなく?
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2004-04-12 16:35
引用:

まゆりんさんの書き込み (2004-04-12 16:24) より:
コンポーネントがあればと思い探したところ、ここに辿り着いたのですが、
そのコンポーネントはVB・VC++・VBScript・JScriptでないと使えないようです。


おそらく↓の部分のことを仰ってるんだと思いますが、
引用:

COM 対応の任意のプログラミング言語またはスクリプト言語 (Visual Basic?、Visual C++R、VBScript、JScriptR) で開発されたアプリケーションから作成し、使用することができます。


「COM 対応の任意のプログラミング言語」と書かれてるんですから、「COM 対応の任意のプログラミング言語」で使用できるということでしょう。
C#からでも簡単に利用できると思います。
# タイプライブラリを参照して使えば
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2004-04-13 00:23
こんばんは、まゆりんです。
CHNさん、Jittaさん、なちゃさん、レスありがとうございます。

なちゃさんの仰っている箇所を見てC#.NETでは出来ないのかと判断し、
それならC#.NETやADO.NETでも使えるコンポーネントがあるはずだと思い、
調べてみたのですが見つからなくて投稿に至ったわけです。
相変わらず説明不足で申し訳ないです・・・。

その後、SQLXML3.0というコンポーネントが.NETと一緒に使用することを想定して
最適化されているということが分かりました。
この辺はあまり触れたことがなく、使い方すら分かっておりませんが、
実際にダウンロードして試してみたいと思います。
#まだダウンロードしただけですが・・・

また、SQLXML3.0でXMLからDBデータをロードする方法を
ご存知の方がいらっしゃいましたら、「こういう風に使うんだよ」な感じで
教えて頂ければ幸いです。

以上、ご報告でした。
_________________
まゆりん @ わんくま同盟
Blog る。
tricolo
会議室デビュー日: 2004/04/11
投稿数: 4
投稿日時: 2004-04-13 01:56
的はずれだったらすいません。
普通のSystem.Data.DataSet.WriteXml(ReadXml)では実現できない機能なのでしょうか、これ。
それとSQLXMLとは関係ないですが、C#からAxtiveXを使う話でしたら、こちらで見かけたことがあります。
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2004-04-13 09:22
おはようございます、まゆりんです。
tricoloさんありがとうございます。

引用:

tricoloさんの書き込み (2004-04-13 01:56) より:
普通のSystem.Data.DataSet.WriteXml(ReadXml)では実現できない機能なのでしょうか、これ。
それとSQLXMLとは関係ないですが、C#からAxtiveXを使う話でしたら、こちらで見かけたことがあります。


WriteXmlは、DBデータをXMLに書き込む方法ですよね。
今回私が調査しているのはその逆なのです・・・。

と、ここでDataSetメンバをよく見てみたら
DataSet.ReadXmlでも実現できそうな気がしてきました。
ただ、昨日ダウンロードしたコンポーネントとの違いが分からないので、
試しながら比較してみたいと思います。

#追記:DataSetを使うか使わないかの違いですかね???

_________________
まゆりん@絶賛勉強中<基本情報処理

[ メッセージ編集済み 編集者: まゆりん 編集日時 2004-04-13 09:27 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-04-13 10:31
引用:

まゆりんさんの書き込み (2004-04-13 09:22) より:

#追記:DataSetを使うか使わないかの違いですかね???


 .NETより前にはXMLを読み込む方法がMSXLMしかなく、また読み込んだデータを処理する方法がややこしいので、前記のページの内容だと思います。

 問題は、INSERTするべきテーブルが存在しないとき、だと思います。その辺が、“ツール”としての作り込み部分だと思います。

スキルアップ/キャリアアップ(JOB@IT)