500M的XML怎么导入SQL数据库最快

来源:百度知道 编辑:UC知道 时间:2024/07/08 19:27:02
Xml文件的格式如下:
<products>
<product>
<title>...</title>
<url>...</url>
....
...
<fields>
<name>n</name>
<value>v</value>
<unit>u</unit>
</fields>
</product>

<product>
....
...
</product>

....

<products>

product 里面大概有30个节点(不一定全部相同)

1.用xmldocument会不会涉及到内存的问题?因为XML500多M
2.用textxmlreader只能一个节点一个节点读取,一次只能读取到name或者value,但这样就无法知道那个value对应哪个name了
3.用dataset可以一次性全部导入数据库吗?product是一个表格,里面可能关联其他的表格(不确定)如fields

最好答案再加100-200分

数据库不懂,飘过~
内存方面感觉没有问题,你可以自己写个程序将该xml读入然后Active试试,看看内存有没有暴增。
第二个问题,我用Delphi是可以顺序读取的,资料复制的时候,掌握好父节点与子节点之间的联系就可以了

我感觉可以用工具把xml导成平面文件,然后使用数据库的导入工具导入
这样效率应该是最高的,当然前提是你这500m的数据就导这一次

sql 不知道你用的是2000,05 还是08

如果用程序呢,采用xmldocument一下加载到内存,估计受不了,除非你内存超大,cpu也得是超顶级的

先讲一下如何导入到access吧,挺简单的,sql和它类似
access用2003

打开access,新建一个空的db
单击“文件”-> 获取外部数据->导入

导入类型选择xml(这个选择位置比较靠下,耐心向下拉)
然后导入即可,会创建一个产品表,并把数据一次全部导入到表里面。