SQL批量加载期间出现问题

时间:2010-07-30 15:44:09

标签: sql database windows-7 sqlxml bulk-load

我们遇到了一个真正令人困惑的问题。我们正在尝试使用我们编写的一个小应用程序测试 SQL批量加载,该应用程序传递数据文件XML,架构和SQL数据库连接字符串。

这是一个非常简单的应用程序,这是代码的主要部分:

SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class objBL = new SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class();
objBL.ConnectionString = "provider=sqloledb;Data Source=SERVER\\SERVER; Database=Main;User Id=Username;Password=password;";
objBL.BulkLoad = true;
objBL.CheckConstraints = true;
objBL.ErrorLogFile = "error.xml";
objBL.KeepIdentity = false;
objBL.Execute("schema.xml", "data.xml");

正如您所看到的,它非常简单但我们从库中收到以下错误:我们将这些内容传递给: Interop.SQLXMLBULKLOADLib.dll

消息显示:

Failure: Attempted to read or write protected memory. This is often an indication that other memory has been corrupted

我们不知道是什么导致它或它甚至意味着什么。

在此之前,我们首先遇到错误,因为未安装SQLXML4.0,因此很容易修复。然后出现错误,因为它无法连接到数据库(错误的连接字符串) - 已修复。现在有了这个,我们感到困惑。

感谢您的帮助。我们真的摸不着头脑!

3 个答案:

答案 0 :(得分:1)

我不熟悉这个特定的实用程序(Interop.SQLXMLBULKLOADLib.dll),但您是否检查过您的XML验证其架构.xsd文件?也许dll可能会在将xml数据文件加载到内存结构中时出现问题?

答案 1 :(得分:1)

我试着理解你的问题,但我对此更加怀疑,

如果你有时间尝试访问以下链接,我认为它肯定对你有用 link text

答案 2 :(得分:1)

我知道我做过一次引发此错误消息的事情,但(经常发生)问题最终与错误消息无关。没什么帮助,唉。

一些故障排除想法:尝试确定应用程序生成并提交给SQL Server的实际SQL命令(SQL Profiler应该在这里帮助),并尽可能“关闭”到数据库 - 从SSMS内部,使用SQLCMD,直接BCP呼叫,无论什么是合适的。详细说明您所做的所有测试以及获得的结果可能有所帮助。