当我尝试创建和填充数据库表时,SQL XML批量加载错误
本文关键字:XML SQL 错误 加载 创建 数据库 填充 | 更新日期: 2023-09-27 18:14:48
我正在处理包含大量XSD文件的XML数据。要将此数据加载到数据库(我需要从xsd创建表),我不能使用xsd2DB(因为xsd包含联合和列表),也不能使用SSID项目。所以我尝试了批量加载,但有一个错误:模式:不支持nilReason上派生类型的多个基(HResult>0x80004005)。
谁能帮我解决这个问题?非常感谢!
下面是我的c#代码和XSD http://www.cuzk.cz/GenerujSoubor.ashx?NAZEV=10-AXSD的URL(由捷克测绘和地籍办公室分发);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");
并非所有可能的XSD都可以在数据库模式中自动翻译——恐怕您就是这种情况之一。
您必须手动创建数据库表并将XML映射到它们。