2012-11-04 63 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解析器。 –