Ошибка мастера импорта и экспорта SQL Server

Я пытаюсь импортировать таблицу строк 82k+ из базы данных доступа в SQL Server 2008.

Используя мастер импорта и экспорта SQL Server, я получаю сообщение об ошибке при вводе около 78 тыс. записей.

Вот ошибка:

Error 0xc0208265: Data Flow Task 1:
Failed to retrieve long data for column "members_notes".

Error 0xc020901c: Data Flow Task 1: 
There was an error with output column "members_notes" (41) on output "OLE DB Source Output" (11).
The column status returned was: "DBSTATUS_UNAVAILABLE".

Error 0xc0209029: Data Flow Task 1: 
SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR.
The "output column "members_notes" (41)" failed because error code 0xC0209071 occurred, and the error row disposition on "output column "members_notes" (41)" specifies failure on error.

Error 0xc0047038: Data Flow Task 1:
SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.
The PrimeOutput method on component "Source - Query" (1) returned error code 0xC0209029. 
The component returned a failure code when the pipeline engine called PrimeOutput().
The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.
There may be error messages posted before this with more information about the failure.

Столбецmembers_notes в базе данных доступа представляет собой мемо-поле. В таблице SQL Server, в которую передаются эти данные, я определил поле как nvarchar(MAX).

Я искал это сообщение об ошибке и нашел статьи, предлагающие сжать мою базу данных SQL и очистить мои временные файлы на компьютере, выполняющем экспорт/импорт, ни одна из которых не сработала.

Кто-нибудь еще сталкивался с этой проблемой?


person Paul    schedule 17.12.2009    source источник
comment
Можете ли вы исправить цитату, чтобы она была в коде и не была такой беспорядочной?   -  person    schedule 17.12.2009
comment
Как вы уже указали, вы очистили свои временные файлы. Существует [отчет об ошибке][1], но он был исправлен в SQL Server Integration Services 2008. [1]: connect.microsoft.com/SQLServer/feedback/   -  person    schedule 17.12.2009
comment
Пробовали ли вы разделить свою проблему пополам, т. е. разбить данные на пакеты по 1000 записей (или меньше) или даже пытались импортировать только одну строку?   -  person Migol    schedule 19.12.2009


Ответы (3)


Я начал искать поле memo в базе данных Access. Последняя строка содержала «#Error» в поле memo. Когда я щелкнул в этом поле, я получил следующее сообщение:

"Ядро базы данных Microsoft Jet остановило процесс, потому что вы и другой пользователь пытаетесь одновременно изменить одни и те же данные"

Я запустил Compact and Repair в базе данных Access. Это поместило кучу символов # в поле заметки для этой конкретной записи.

Затем я снова попытался использовать мастер импорта и экспорта SQL Server. В тот раз это сработало идеально!

person Paul    schedule 19.12.2009
comment
У вас был поврежден указатель памятки. Компакт убирает того достаточно, что видимо импорт может работать. - person David-W-Fenton; 19.12.2009

У меня недостаточно репутации, чтобы поднять ваш ответ dpii, но это определенно сработало для меня. Эта проблема не давала мне покоя, и простой компакт и ремонт заставили ее уйти. Также остерегайтесь других пользователей, использующих файл одновременно с загружаемым вами файлом (или открывающим файл самостоятельно в Access), иначе вы можете столкнуться с этой ошибкой.

person System24 Tech    schedule 09.02.2011

Похоже, это ошибка в SQL Server 2005, которая должна быть исправлена, см. здесь

Изменить: согласно вашему комментарию ниже, это исправлено в 2008 SP1 CU5.

person Community    schedule 17.12.2009
comment
Я использую SQL Server 2008 SP1, поэтому я не уверен, сохраняется ли эта ошибка с 2005 года. Я устанавливаю 2008 SP1 CU5, чтобы посмотреть, решит ли он проблему, и сообщу об этом. Спасибо... - person Paul; 19.12.2009
comment
После установки 2008 SP1 CU5 как на SQL-сервер, на который я копирую данные, так и на ящик разработчика, из которого я запускаю обновление, я получаю одно и то же сообщение об ошибке. Я видел статьи, в которых говорится, что сообщение, которое я вижу, связано с рядом проблем. Это заставляет меня думать, что, возможно, это не связано с проблемой 2005 года. Интересно, есть ли способ получить больше информации об этой конкретной ситуации? - person Paul; 19.12.2009