以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 XML 与 数据库 』 (http://bbs.xml.org.cn/list.asp?boardid=17) ---- 在.net中实现XML数据的存储和查询出错,请教! (http://bbs.xml.org.cn/dispbbs.asp?boardid=17&rootid=&id=31477) |
-- 作者:sunmcc -- 发布时间:4/28/2006 3:41:00 PM -- 在.net中实现XML数据的存储和查询出错,请教! 我是xml的初学者,正在尝试基于sql2005数据库,在c#中实现xml数据库的写入和查询,写了几个测试程序都出错,请教大家. |
-- 作者:sunmcc -- 发布时间:4/28/2006 3:57:00 PM -- 1.数据插入 表名:metaNodes2 (列 id 数据类型(nchar(10); 列 xcol 数据类型(xml); 列 metaId 数据类型(nchar(10)) 程序实现: string myConnectionString = "Data Source=MCC\\MCC;Initial Catalog=demodb;uid='meng';pwd='meng'"; SqlConnection myConnection = new SqlConnection(myConnectionString); myConnection.Open(); string myQuery = "INSERT INTO metaNodes2 " + " SELECT xCol " + " FROM (SELECT * " + " FROM OPENROWSET (BULK '" + Directory.GetParent(Directory.GetParent(Directory.GetCurrentDirectory().ToString()).ToString()).ToString() + "\\bin\\debug\\plant_catalog.xml', SINGLE_CLOB) " + " AS xCol) AS R(xCol) "; try { SqlCommand myCommand = new SqlCommand(myQuery, myConnection); myCommand.ExecuteNonQuery(); MessageBox.Show("Inserted Successfully!", "Information"); } catch (Exception e1) { MessageBox.Show(e1.ToString()); } 这里使用了大容量数据加载,返回错误:出现大容量数据加载转换错误.
[此贴子已经被作者于2006-4-28 16:19:36编辑过]
|
-- 作者:sunmcc -- 发布时间:4/28/2006 4:25:00 PM -- 2.数据查询 程序代码: string myConnectionString = "Data Source=MCC\\MCC;Initial Catalog=metaMis;uid='meng';pwd='meng'"; SqlConnection myConnection = new SqlConnection(myConnectionString); myConnection.Open(); string x2="dfg"; string myQuery = "SELECT metaId FROM metaNodes2 WHERE xCol.exist ('/VectorMetadata/identificationInfo/citationInfo[author = "+x2+"') = 1"; //string myQuery="select metaId from metanodes2 where id='3'"; try { SqlCommand myCommand = new SqlCommand(myQuery, myConnection); SqlDataReader myReader= myCommand.ExecuteReader(); 在.net05下却报错:set设置不正确,未使用正确的xml索引. 然而,在sql2005中运行: SELECT metaId FROM metaNodes2 WHERE xCol.exist ('/VectorMetadata/identificationInfo/citationInfo[author = "dfg"]') = 1 查询语句,没有问题.
|
-- 作者:sunmcc -- 发布时间:4/30/2006 9:15:00 AM -- 哎,问题问了几天也没人回,自己搞定了. 第一个数据插入把CLOB改成BLOB,因为我原先要放到数据库中的文件基于二进制. 第二个sql语句有问题,只是转义符没弄好,string myQuery = "SELECT metaId FROM metaNodes2 WHERE xCol.exist ('/VectorMetadata/identificationInfo/citationInfo[author = "+x2+"]') = 1"; 改成: SELECT metaId FROM metanodes2 WHERE xCol.exist ('/VectorMetadata/identificationInfo/citationInfo[author ="+"\""+ x2+"\"" +"]') = 1
|
-- 作者:cozywindlxfljm -- 发布时间:11/10/2006 9:25:00 AM -- 朋友,有相关这方面的资料吗?给我发一份吧,不盛感激 xiangfenglv@sohu.com |
-- 作者:msnow -- 发布时间:12/21/2006 7:04:00 PM -- 高手,给我发一份 吧, hswmxr@tom.com |
-- 作者:aman0223 -- 发布时间:3/31/2007 9:58:00 PM -- 发份给我啊!!! meiman0223@sina.com meiman0223@sina.com |
-- 作者:zh_star -- 发布时间:4/24/2007 9:33:00 PM -- 朋友发一份给我吧272505678@qq.com不胜感激 |
-- 作者:kxc1984 -- 发布时间:12/18/2007 3:44:00 PM -- 高手,你在做什么东西啊?能给俺发份看看吧。谢了。cui5271@163.com |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
91.797ms |