我正在尝试将存储在 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 语句处未正确结束,我不明白为什么。有什么想法吗?
最佳答案
您似乎正在将 SQL Server 的 SQL 方言与 SQLite 一起使用,但这不起作用。在开始与 SQLite 对话之前,您应该将 xml 转换为 SQLite 的 SQL 方言。更具体地说,使用 Python/C#/XSLT 等而不是直接在 SQL 中将您的 xml 转换为 SQLite 识别的 SQL。
关于sql - 将数据从 XML 导入 SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13215005/