新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   >>中国XML论坛<<     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> Oracle, SQL Server与XML,XML在数据挖掘中的应用, PMML.
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - 高级XML应用『 XML 与 数据库 』 → 如何将xml文件存入oracle  的xmltype类型中? 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 12245 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 如何将xml文件存入oracle  的xmltype类型中? 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     sunmcc 美女呀,离线,快来找我吧!
      
      
      等级:大一(高数修炼中)
      文章:10
      积分:134
      门派:XML.ORG.CN
      注册:2006/4/28

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给sunmcc发送一个短消息 把sunmcc加入好友 查看sunmcc的个人资料 搜索sunmcc在『 XML 与 数据库 』的所有贴子 引用回复这个贴子 回复这个贴子 查看sunmcc的博客楼主
    发贴心情 如何将xml文件存入oracle  的xmltype类型中?

    我们有些xml数据,以前用SQL server2005的xml 类型,
    现在需要更改数据库到oracle 10g上,
    以前使用SQL server2005时用的是这样的SQL语句:
    insert into invoicexml_col(inv_id,inv_doc)
    SELECT inv_doc,1 FROM  (SELECT * FROM OPENROWSET ( BULK 'c:\test.xml',SINGLE_BLOB)
    AS inv_doc )AS R(inv_doc) ;
    这个代码可以将'c:\test.xml'目录下的xml文件存入类型为xml的inv_doc字段中,现在在用oracle 10g,在PL/SQL下测过下面的代码:
    CREATE TABLE resumes2 (
    employee_id NUMBER(6) PRIMARY KEY,
    resume XMLType)
    XMLType COLUMN resume
    STORE AS CLOB;

    CREATE DIRECTORY XMLDIR AS 'C:\';
    GRANT READ ON DIRECTORY XMLDIR TO PUBLIC;

    Insert into resumes2 values (1,
      XMLType(bfilename('XMLDIR','test.xml'),nls_charset_id('AL16UTF8')));
      我发现这种方法里XMLDIR路径指向的是服务器目录,而我希望这个目录是客户端的目录,我该怎样修改呢??
      我是不是需要把xml文件先存入clob,然后再insert呢?在.net中应该怎么来做,是不是需要安装Oracle Data Provider for .Net??我下载了一个,一安装界面就不动了,晕呢,知道的朋友能解答一下吗,万分感谢!!


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/9/18 11:20:00
     
     sunmcc 美女呀,离线,快来找我吧!
      
      
      等级:大一(高数修炼中)
      文章:10
      积分:134
      门派:XML.ORG.CN
      注册:2006/4/28

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给sunmcc发送一个短消息 把sunmcc加入好友 查看sunmcc的个人资料 搜索sunmcc在『 XML 与 数据库 』的所有贴子 引用回复这个贴子 回复这个贴子 查看sunmcc的博客2
    发贴心情 
    不知道是坛子里的高手都不屑于回答这么弱智的问题还是都没人关注oracle xmltype.自己搞定了,贴出来给象我一样盲目的朋友.
    以前我的客户端是9i,所以装了10g的odp.net,发现冲突,捣腾了很久才卸掉,重装了9i,发现PL/SQL里edit data总是很慢,根本出不来xmltype的数据行,后来才知道是版本问题,
    装了10g的客户端就好了,而且odp.net也有了。
    using Oracle.DataAccess.Types;
    using Oracle.DataAccess.Client;

    第一步:将xml文件读成string型:
    StreamReader sr = new StreamReader("E:\\my.net\\oracleXmlTest\\mcc.xml");
      string outstring = "";
                    // Read and display lines from the file until the end of
                    // the file is reached.
                 while ((line = sr.ReadLine()) != null)
                 {
                     outstring += line;
                 }
    或者直接:
      XmlDocument xDocument = new XmlDocument();
      xDocument.Load("E:\\my.net\\oracleXmlTest\\mcc.xml");
    第二步:定义OracleXmlType
         // OracleXmlType cxml = new OracleXmlType(conn, outstring);
           OracleXmlType cxml = new OracleXmlType(conn, xDocument);
    第三步:
    OracleConnection conn = new OracleConnection("Data Source=GISORA;User

    Id=meng;Password=meng");
    conn.Open();
    OracleCommand cmd = new OracleCommand();
    cmd.Connection = conn;
    cmd.CommandText = "INSERT INTO resumes4 VALUES (15,:pb)";
    cmd.Parameters.Add("pb", OracleDbType.XmlType, iSize).Value = cxml;
    cmd.ExecuteNonQuery();            
    conn.Close();
    代码很简单,过程很艰难!

    [此贴子已经被作者于2007-9-26 19:07:22编辑过]
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/9/26 16:54:00
     
     wind_gemini 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:1
      积分:58
      门派:XML.ORG.CN
      注册:2007/10/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给wind_gemini发送一个短消息 把wind_gemini加入好友 查看wind_gemini的个人资料 搜索wind_gemini在『 XML 与 数据库 』的所有贴子 引用回复这个贴子 回复这个贴子 查看wind_gemini的博客3
    发贴心情 
    作个标记先~
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/10/8 15:35:00
     
     susie8449 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:5
      积分:71
      门派:XML.ORG.CN
      注册:2008/7/10

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给susie8449发送一个短消息 把susie8449加入好友 查看susie8449的个人资料 搜索susie8449在『 XML 与 数据库 』的所有贴子 引用回复这个贴子 回复这个贴子 查看susie8449的博客4
    发贴心情 
    现在剛接觸xml。學習中....
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/7/10 20:48:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML 与 数据库 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/11/27 4:02:56

    本主题贴数4,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    93.750ms