Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Yagrus2 Member Откуда: Москва Сообщений: 902 |
Здравствуйте. Хочу с помощью Import and Export Wizard загрузить в EXCEL данные из SQL таблицы и сохранить пакет. Часть столбцов исходной таблицы хранится в юникоде. Процессе создания пакета через Import and Export Wizard, было сообщено о преобразовании между типами SQL и EXCEL А заканчивается все вот такой ошибкой. Pre-execute (Error) Messages Error 0xc0202009: Data Flow Task 1: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E21. (SQL Server Import and Export Wizard) Error 0xc0202025: Data Flow Task 1: Cannot create an OLE DB accessor. Verify that the column metadata is valid. (SQL Server Import and Export Wizard) Error 0xc004701a: Data Flow Task 1: component "Destination - UV_QV_004_02_LDM_Daily" (106) failed the pre-execute phase and returned error code 0xC0202025. (SQL Server Import and Export Wizard) Как побороть это? Буквально утром делал те же самые действия и такого не было |
4 апр 14, 17:14 [15834307] Ответить | Цитировать Сообщить модератору |
Yagrus2 Member Откуда: Москва Сообщений: 902 |
У меня появились некоторые уточнения по вопросу: 1. Сообщение из первого поста появляется при создании пакета через Import and Export Wizard и связке SQL и EXCEL x64 2. В EXCEL-файл ничего не заливается кроме заголовка 3. Пакет SSIS создается, но при запуске из VS не работает Если создать EXCEL-файл формата 97-2003, то 1. Процессе создания пакета через Import and Export Wizard, сообщение уже такое. - Executing (Warning) Messages Warning: Preparation SQL Task 1: Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done. (SQL Server Import and Export Wizard) Warning: Preparation SQL Task 1: Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done. (SQL Server Import and Export Wizard) 2. В EXCEL-файл попадает необходимая информация и она корректна 3. Пакет SSIS создается, при запуске из VS работает Открыв пакеты в VS на редактирование, я обнаружил что они получились идентичные, за исключением DestinationConnectionExcel. Оказывается, что пакет для файла-EXCEL x64 не работает из-за Data Conversion внутри Data Flow Task. В Data Conversion в обоих пакетах была приведение типов(его выбрал Import and Export Wizard): NVARCHAR(K) -> unicode text stream [DT_NTEXT], где K - натуральное число меньше 100; DATE -> unicode string [DT_WSTR] После удаления Data Conversion пакет для файла-EXCEL x64 заработал. Правда не совсем так как надо. Под опалу попали столбцы, в которые заливались int и money поля. EXCEL помечает из как некорректные, а также дробная часть в числе отделяется точкой, как на SQL сервере, а нужна запятая. Далее я сделал такой эксперимент, создал пакет для EXCEL-файла формата 97-2003 руками в VS, полностью аналогичный тому который создал Import and Export Wizard. Он также отработал без проблем и каких либо косяков. Получается что SSIS пакеты некорректно работают с EXCEL x64 |
7 апр 14, 13:01 [15842846] Ответить | Цитировать Сообщить модератору |
Yagrus2 Member Откуда: Москва Сообщений: 902 |
Еще некоторые уточнения: Для EXCEL 97-2003 в пакете используется провайдер Microsoft.Jet.OLEDB.4.0, а для EXCEL 2010 провайдер Microsoft.ACE.OLEDB.12.0 И получается следующее
И да. Установка EXCEL2010 x32 проблему не решает, так как используется тот же Microsoft.ACE.OLEDB.12.0 |
||||||||||||||||||||||||||||
8 апр 14, 13:41 [15849263] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |