ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

DBならOracleでしょ♪コミュのオラクルXMLタイプ

  • mixiチェック
  • このエントリーをはてなブックマークに追加
現在、会社のシステムのメタデータをXMLTYpeで処理しています。これは、自由なメタデータをサポートするために選択しました。たとえばブックというスキーマを作ったときにテーブルならAuthorの数が決まってなければいけないためです。XMLTYPEにすることによって好きなメタデータのスキーマを作成し
同じカラムを何個も追加できます。

しかし現在、問題があって検索結果をクライアント側に渡したときにParseするのに結構時間がかかってしまうということです。GISのOGCなどメタデータが複雑になるともっと時間がかかるそうで何とか解決策がないかと投稿しました。

スキーマをこのXMLTYPEに割り当てることでオラクルが自動的にXML→オブジェクトへ簡単にシリアライズできると聞いたのですがこの解決策でParseの問題が解決できるのでしょうか?

<?xml version=1.0"?>
<book>
<title>book titile</title>
<author>Jone Doe</author>
<author>Mike Jovonsky</author>
</book>

コメント(3)

同様の悩みで今春OiSCとずいぶんやりとりしたのですが、いくら何をやっても非常に遅いままでした。

どうやら相当のバグを含んでいるらしく、
ORA-00600が出たり、
ORA-30936でBUG:4696154に該当でOracle10gでも解決していないと言われたり、
いろいろパッチ当てをして欲しいと言われましたが、
開発環境だけならまだしも、
既稼働の本番環境に手を付ける訳にはいかず、
結論としてParseが非常に時間がかかるため、あきらめました。

でも、どうしてもXMLをOracleを使って変換しなくてはいけない事情があったので、XDKに記載されている「XSLT Prosessor for Java:コマンドライン・インターフェース oraxsl」なるものを使用しました。

結局、XSLTを使用してCSVにしてリレーション型のTableにSQL*LoaderでInsertするだけ・・・
il||li_| ̄|○ il||li

敗北感いっぱいでしたが、今は上手く稼働しています。
使い慣れたリレーショナルデータベース型が一番、と言うことで(笑)。
書いた後に、全然役に立たない情報だと気づいたけど、とりあえず投稿します。
やすさん、

投稿有難うございます。
現在の段階ではスキーマを登録せずにXPATHで
検索し検索結果をXMLのリストとしてクライアント
側に返しています。というのも後々会社のシステムですべてのDBもサポートしたい(MSSQL,MYSQLにもXMLTypeが登場しそうですがXML->Objectsのシリアライズ
化がサポートされるか未定のため現在の解決策を取りました。)

やすさんのいう
>結論としてParseが非常に時間がかかるため
というのはオラクルの中でということでしょうか?

>結局、XSLTを使用してCSVにしてリレーション型のTableにSQL>*LoaderでInsertするだけ・・・
>il||li_| ̄|○ il||li
泥沼に使っているような…
今の巨人の様です、はい。

>敗北感いっぱいでしたが、今は上手く稼働しています。
でも、動いているんだからいいでんしょう。^^;
Oracle*LoaderでXMLをInseretするときにコンマはどのようにして入れてますか?
「'」でエスケープしようとして「’,」とやると「’,」がそのまま入ってしまいました・・・。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

DBならOracleでしょ♪ 更新情報

DBならOracleでしょ♪のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。