我正試圖將大型Access .mdb數據庫導出到SQL Server數據庫,並且已經遇到Microsoft DTS無法識別的問題訪問數據庫中特定類型字段的數據類型。將Access數據庫轉換爲SQL Microsoft DTS - 數據類型'130'不在映射文件中
我看了一下有問題的訪問表,它們被設置爲長度爲1的「文本」。它們包含單個Y或N值(如果已填充,但也可以具有空值)。
我一直在包含這種類型的字段的單個表上進行測試。當我打開「編輯映射」屏幕時,數據類型設置爲-1,因此我手動將其設置爲長度爲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>
,我得到了完全相同的錯誤,其實像以前一樣使我相信,編輯等映射文件不會有所作爲。
任何任何想法?
這是一個需要編寫腳本的一次性操作還是什麼?如果是一次性導入,請考慮SQL Server遷移助理for Access,它是迄今爲止從Jet/ACE升級到SQL Server的最通用的工具。 – 2011-05-22 00:25:42