我正在使用包含大量XSD文件的XML数据。要将此数据加载到数据库(我需要从XSD创建表)我不能使用xsd2DB(因为XSD包含union和list),而不是SSID项目。所以我尝试批量加载但是有一个错误:架构:不支持在nilReason上派生类型的多个基础(HResult> 0x80004005)。
任何人都可以帮我解决这个问题吗?
非常感谢!
下面是我的C#代码和XSD http://www.cuzk.cz/GenerujSoubor.ashx?NAZEV=10-AXSD的URL(由捷克办事处分发,用于调查,制图和CADASTRE); zip中的主要XSD文件位于路径中:* ... \ ruian \ xsd \ vymenny_format *
SQLXMLBulkLoad4Class objBL = new SQLXMLBulkLoad4Class();
objBL.ConnectionString = "Provider=sqloledb;server=mypc\\SQLSer; database=test;integrated security=SSPI";
objBL.BulkLoad = true;
objBL.SchemaGen = true;
objBL.SGUseID = true;
objBL.CheckConstraints = true;
objBL.ForceTableLock = true;
objBL.KeepIdentity = false;
objBL.ErrorLogFile = filePath + "\\Project_Errors\\error.txt";
objBL.Execute(@"D:\data\ruian\xsd\vymenny_format\test.xsd", @"D:\data\ruian\xsd\vymenny_format\test_data.xml");
objBL.Execute(@"D:\data_RUIAN\ruian\xsd\vymenny_format\VymennyFormatTypy.xsd", @"D:\data_RUIAN\data\20130430_OB_500071_UKSH.xml");
答案 0 :(得分:0)
并非所有可能的XSD都可以在数据库模式中自动翻译 - 我担心您处于其中一种情况。
您必须手动创建数据库表并将XML映射到它们。