2012-11-04 44 views
2

我想导入存储在XML文件中的数据到我的SQLite数据库中。插入查询看起来像下面这样:从XML导入数据到SQLite

INSERT INTO table1 VALUES (rank, name) 
SELECT X.record.query('rank').value('.', 'INT'), 
     X.record.query('name').value('.', 'VARCHAR(30)') 
FROM (
    SELECT CAST(x AS XML) 
    FROM OPENROWSET(BULK 'data.xml', SINGLE_BLOB) AS T(x) 
    ) AS T(x) 
CROSS APPLY x.nodes('data/record') AS X(record); 

的XML数据是这样的:

<data> 
    <record> 
     <rank>1</rank> 
     <name>One</name> 
    </record> 
    <record> 
     <rank>2</rank> 
     <name>Two</name> 
    </record> 
    ... 
</data> 

但是,我得到“SQL命令在外部SELECT语句不正确地结束,我可以“T找出原因。任何想法?

回答

2

你似乎使用的SQLite将无法正常工作SQL Server的SQL方言。您应该将XML转换成的SQLite的SQL方言你开始谈论它。更具体地说,转换你的xml到SQL,SQLite知道使用Python/C#/ XSLT等等直接在SQL中的广告。

+0

是否没有内置的SQL方式导入XML数据? – Jin

+1

否; SQLite没有XML解析器。 –