2
我有.MAP文件,它是从SAS XML映射器创建的。顾名思义,该文件是从XML文件派生的。现在我想从这个文件中插入数据到SQL Server 2008表中。 .MAP文件包含近28个表的数据。有没有办法导入这么庞大的数据?在SQL Server 2008中导入XML数据
这是.MAP文件的示例。该文件太大,无法共享,所以我只是添加文件的一部分来提供一些基本的想法,但不能共享实际的文件。
<?xml version="1.0" encoding="UTF-8"?>
<!-- ############################################################ -->
<!-- 2012-02-10T13:13:14 -->
<!-- SAS XML Libname Engine Map -->
<!-- Generated by XML Mapper, 902000.3.6.20090116170000_v920 -->
<!-- ############################################################ -->
<!-- ### Validation report ### -->
<!-- ############################################################ -->
<!-- XMLMap validation completed successfully. -->
<!-- ############################################################ -->
<SXLEMAP name="AUTO_GEN" version="1.2">
<!-- ############################################################ -->
<TABLE name="Patients">
<TABLE-DESCRIPTION>Patients</TABLE-DESCRIPTION>
<TABLE-PATH syntax="XPath">/Patients</TABLE-PATH>
<COLUMN name="Patients_ORDINAL" ordinal="YES">
<INCREMENT-PATH beginend="BEGIN" syntax="XPath">/Patients</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
</TABLE>
<TABLE name="Patient">
<TABLE-DESCRIPTION>Patient</TABLE-DESCRIPTION>
<TABLE-PATH syntax="XPath">/Patients/Patient</TABLE-PATH>
<COLUMN name="Patients_ORDINAL" ordinal="YES">
<INCREMENT-PATH beginend="BEGIN" syntax="XPath">/Patients</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN name="Patient_ORDINAL" ordinal="YES">
<INCREMENT-PATH beginend="BEGIN" syntax="XPath">/Patients/Patient</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN name="PatientID">
<PATH syntax="XPath">/Patients/Patient/PatientID</PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
</TABLE>
</SXLEMAP>
您肯定可以将这些数据从XML导入到SQL Server中的临时表中 - 这种或那种方式。从那里开始,你可以验证,充实,“分发”那些数据......这个XML导入语句可能有点混乱和巨大 - 但我确信你可以使这个工作。问题是:那个.map文件是怎么样的?大量的数据/行或者XML中的许多层次级别? – 2012-02-13 06:26:21
@marc_s。我用.MAP文件的一部分编辑了我的问题。它可能有很多数据/行和。在某些地方,它将有2-3层次的层次,正如我所说,它包含的数据,如果以某种方式插入,则会影响28个表格。 – 2012-02-13 06:37:34