1

我需要弄清楚如何使用 Visual Studio 2010 将 XML 批量加载到 Microsoft SQL Server 2012 中。我已按照此处的说明进行操作,但这给了我一长串错误(包括在下面)。

此外,我不完全确定我应该如何处理 #8 的说明:“将 Main() 方法替换为以下代码。更新 ConnectionString 属性以及模式和数据文件的文件路径。” 有人可以给我一个快速的纲要吗?

虽然我不确定它是否会有所帮助,但我还添加了 SQL DB 作为数据源。

错误一:

'SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class' 类型没有定义构造函数 C:\Users\coopere.COOPERE-PC\documents\visual studio 2010\Projects\Aztech - Bulk Load\Aztech - Bulk Load\Program.cs 15 64 Aztech - Bulk Load

错误2:

“SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class”不包含“ConnectionString”的定义,并且找不到接受“SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class”类型的第一个参数的扩展方法“ConnectionString”(您是否缺少 using 指令或程序集引用?) C: \Users\coopere.COOPERE-PC\documents\visual studio 2010\Projects\Aztech - 批量加载\Aztech - 批量加载\Program.cs 16 23 Aztech - 批量加载

错误 3:

'SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class' 不包含'ErrorLogFile' 的定义,并且找不到接受'SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class' 类型的第一个参数的扩展方法'ErrorLogFile'(您是否缺少 using 指令或程序集引用?)C: \Users\coopere.COOPERE-PC\documents\visual studio 2010\Projects\Aztech - 批量加载\Aztech - 批量加载\Program.cs 17 23 Aztech - 批量加载

错误 4:

“SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class”不包含“KeepIdentity”的定义,并且找不到接受“SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class”类型的第一个参数的扩展方法“KeepIdentity”(您是否缺少 using 指令或程序集引用?)C: \Users\coopere.COOPERE-PC\documents\visual studio 2010\Projects\Aztech - 批量加载\Aztech - 批量加载\Program.cs 18 23 Aztech - 批量加载

错误 5:

'SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class' 不包含'Execute' 的定义,并且找不到接受'SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class' 类型的第一个参数的扩展方法'Execute'(您是否缺少 using 指令或程序集引用?) C: \Users\coopere.COOPERE-PC\documents\visual studio 2010\Projects\Aztech - 批量加载\Aztech - 批量加载\Program.cs 19 23 Aztech - 批量加载

错误6:

无法嵌入互操作类型“SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class”。请改用适用的接口。C:\Users\coopere.COOPERE-PC\documents\visual studio 2010\Projects\Aztech - 批量加载\Aztech - 批量加载\Program.cs 15 35 Aztech - 批量加载

错误 7:

无法嵌入互操作类型“SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class”。请改用适用的接口。C:\Users\coopere.COOPERE-PC\documents\visual studio 2010\Projects\Aztech - 批量加载\Aztech - 批量加载\Program.cs 15 86 Aztech - 批量加载

提前感谢您的帮助。

4

1 回答 1

0

除了我使用 Visual Studio 2012 之外,我正在做同样的事情。使用 SQLXMLBULKLOADLib.SQLXMLBulkLoad4 而不是 SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class 它对我有用。示例中的其他所有内容都应该可以正常工作。一旦您构建了您的应用程序,如果您的 xsd 或 xml 文件中存在问题,您将收到运行时 COM 错误。

main 方法中的代码执行批量加载。您的第一个错误是因为 SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class 没有构造函数(例如,新建 SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class 时调用的方法)。类对象的实例化应该类似于:

SQLXMLBULKLOADLib.SQLXMLBulkLoad4 objBL = new SQLXMLBULKLOADLib.SQLXMLBulkLoad4();

就 data.xml 和 schema.xml 文件而言,它们要么需要与可执行文件位于同一文件夹中,要么您需要放置完整路径。希望这有助于让我知道您是否需要进一步澄清。

给您的问题....您是否能够找到示例引用的映射模式 xsd 文件。这不是什么大不了的事,但我收到了很多信息消息,因为该文件未包含在 Visual Studio xsd 文件中。我到处搜索,但只能找到文件内容的一些旧帖子,而当前批量加载文档中没有所有内容。

于 2013-04-25T17:23:47.100 回答