Проблема во время массовой загрузки SQL - PullRequest
2 голосов
/ 30 июля 2010

у нас действительно запутанная проблема.Мы пытаемся протестировать массовую загрузку 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 ]

1 голос
/ 19 ноября 2010

Я пытаюсь понять вашу проблему, но у меня больше сомнений в этом,

Если у вас есть время, попробуйте зайти по ссылке ниже, я думаю, она вам определенно пригодится текст ссылки

1 голос
/ 22 ноября 2010

Я знаю, что однажды сделал что-то, что вызвало это сообщение об ошибке, но (как это часто бывает) проблема в конечном итоге не имела ничего общего с сообщением об ошибке. Не сильно помогите, увы.

Некоторые идеи по устранению неполадок: попытайтесь определить фактическую команду SQL, сгенерированную и отправленную приложением на SQL Server (здесь должен помочь SQL Profiler), и запустите ее как можно ближе к базе данных - изнутри SSMS, используя SQLCMD, прямой вызов BCP, что угодно. Детализация всех ваших тестов и результатов, которые вы получите, могут помочь.

1 голос
/ 18 ноября 2010

Я не знаком с этой конкретной утилитой (Interop.SQLXMLBULKLOADLib.dll), но вы проверили, что ваш XML проверяется в его файле схемы .xsd? Возможно, у dll могут возникнуть проблемы с загрузкой файла данных xml в структуры памяти, если он недействителен?

...