Я пытаюсь экспортировать большую базу данных Access .mdb в базу данных SQL Server и столкнулся с проблемой, когда Microsoft DTS не распознает тип данных определенного типа поля в базе данных доступа.
Я посмотрел на таблицы доступа, о которых идет речь, и они настроены как «текст» длиной 1. Они содержат одно значение Y или N, если они заполнены, но также могут иметь нулевое значение.
Я тестировал одну таблицу, которая содержит поле этого типа. Когда я открываю экран «Редактировать отображение», тип данных устанавливается равным -1, поэтому я вручную устанавливаю для него тип char длиной 1 и пытаюсь обработать таблицу. Это приводит к следующему сообщению об ошибке:
[Source Information]
Source Location : C:\admin\facdata.mdb
Source Provider : Microsoft.Jet.OLEDB.4.0
Table: `ACASSCATDEPREC`
Column: DepBook
Column Type: 130
SSIS Type: (Type unknown ...)
Mapping file (to SSIS type): c:\Program Files\Microsoft SQL Server\100\DTS\MappingFiles\JetToSSIS.xml
[Destination Information]
Destination Location : SERVERNAME
Destination Provider : SQLOLEDB
Table: [dbo].[ACASSCATDEPREC]
Column: DepBook
Column Type: char
SSIS Type: string [DT_STR]
Mapping file (to SSIS type): c:\Program Files\Microsoft SQL Server\100\DTS\MappingFiles\MSSQLToSSIS10.XML
[Conversion Steps]
Conversion unknown ...
SSIS conversion file: c:\Program Files\Microsoft SQL Server\100\DTS\binn\DtwTypeConversion.xml
Я читал различные блоги, и мне кажется, что мне нужно отредактировать файлы сопоставления xml, чтобы сообщить DTS, какой тип данных должен быть 130, поэтому я отредактировал файл c: \ Program Files \ Microsoft SQL Server \ 100 \ DTS \ MappingFiles \ JetToSSIS.xml и запустил его снова, но это не имело значения.
Я добавил этот файл сопоставления xml, а затем перезапустил программу и повторил попытку:
<dtm:DataTypeMapping >
<dtm:SourceDataType>
<dtm:DataTypeName>Char</dtm:DataTypeName>
</dtm:SourceDataType>
<dtm:DestinationDataType>
<dtm:CharacterStringType>
<dtm:DataTypeName>130</dtm:DataTypeName>
<dtm:Length>1</dtm:Length>
</dtm:CharacterStringType>
</dtm:DestinationDataType>
</dtm:DataTypeMapping>
Тот факт, что я получил точно такую же ошибку, как и раньше, заставил меня поверить, что редактирование других файлов сопоставления ничего не изменит.
У кого-нибудь есть идеи?