2012-11-04 6 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 데이터는 다음과 같습니다 : 삽입 쿼리는 다음과 같은 모양이 제대로 외부 SELECT 문에 종료되지 그러나

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

, 내가 얻고있다 "SQL 명령을, 나는 할 수

답변

2

당신은 SQLite의 SQL dialect를 사용하고있는 것처럼 보이는데, 작동하지 않을 것입니다. xml을 SQLite의 SQL 언어로 변환해야합니다. SQLite가 Python/C#/XSLT 등을 사용하여 알고있는 XML에 대한 XML SQL 내에서 직접 광고.

+0

XML 데이터를 가져 오는 빌드 - 인 SQL 방법이 있습니까? – Jin

+1

아니오; SQLite는 XML 파서를 가지고 있지 않습니다. –

관련 문제