2

我正在尝试将存储在 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 语句正确结束,我不知道为什么。有什么想法吗?

4

1 回答 1

2

您似乎将 SQL Server 的 SQL 方言与 SQLite 一起使用,这是行不通的。在开始与它交谈之前,您应该将您的 xml 转换为 SQLite 的 SQL 方言。更具体地说,使用 Python/C#/XSLT 等而不是直接在 SQL 中将您的 xml 转换为 SQLite 知道的 SQL。

于 2012-11-04T01:14:46.077 回答