SQL Server Integration Services(疑难解答)
用户可以使用 SQL Server Integration Services 导入和导出向导来编辑数据类型映射文件,从而自定义默认数据转换。 映射文件定义数据源和目标之间的数据类型映射,其定义格式为 XML 格式。 在编辑 XML 文件时,请确保源和目标之间相互兼容。
XML 文件位于 Microsoft SQL Server安装的 MappingFiles 文件夹中。
数据类型映射
若要将 IBM DB2 for IBM i 字符和十进制数据类型正确映射到SQL Server数据类型,应扩展数据映射文件以包含 DB2 数据类型长格式同义词。 例如,使用 DB2 的 Microsoft OLE DB 提供程序(数据提供程序)时,请在 DB2 INTEGER 源和 SQL Server 之间添加以下数据类型映射。 此映射与 SQLOLEDB 和 System.Data.SqlClient.SqlConnection
兼容。 它会将短格式的 SourceDataType 值 INT 替换为长格式的 INTEGER。
DB2 INT 的下列映射与 DB2 for z/OS 源相兼容。
<!-- INT -->
<dtm:DataTypeMapping>
<dtm:SourceDataType>
<dtm:DataTypeName>INT</dtm:DataTypeName>
</dtm:SourceDataType>
<dtm:DestinationDataType>
<dtm:SimpleType>
<dtm:DataTypeName>INT</dtm:DataTypeName>
</dtm:SimpleType>
</dtm:DestinationDataType>
</dtm:DataTypeMapping>
DB2 INTEGER 的以下数据类型映射与 DB2 for IBM i 源兼容。
<!-- INTEGER -->
<dtm:DataTypeMapping>
<dtm:SourceDataType>
<dtm:DataTypeName>INTEGER</dtm:DataTypeName>
</dtm:SourceDataType>
<dtm:DestinationDataType>
<dtm:SimpleType>
<dtm:DataTypeName>INT</dtm:DataTypeName>
</dtm:SimpleType>
</dtm:DestinationDataType>
</dtm:DataTypeMapping>
映射文件
下表介绍的是当您使用数据访问接口时您可以编辑的三个映射文件。
DB2 数据类型名称 | DB2ToMSSql | DB2ToMSSql10 | DB2ToSSIS10 |
---|---|---|---|
TIME | DATETIME | time | DT_DBTIME |
TIMESTAMP | datetime | datetime2 | DT_DBTIMESTAMP2 |
DATE | DATETIME | DATE | DT_DBDATE |
CHAR | CHAR | CHAR | DT_STR |
CHAR() FOR BIT DATA | BINARY | BINARY | DT_BYTES |
CHAR () FOR MIXED DATA | NCHAR | NCHAR | DT_WSTR |
CHAR () FOR SBCS DATA | CHAR | CHAR | DT_STR |
CHARACTER | CHAR | CHAR | DT_STR |
CHARACTER () FOR BIT DATA | BINARY | BINARY | DT_BYTES |
CHARACTER () FOR MIXED DATA | NCHAR | NCHAR | DT_WSTR |
CHARACTER () FOR SBCS DATA | CHAR | CHAR | DT_STR |
NATIONAL CHARACTER | NCHAR | NCHAR | DT_WSTR |
VARCHAR | VARCHAR | VARCHAR | DT_STR |
VARCHAR () FOR BIT DATA | VARBINARY | VARBINARY | DT_BYTES |
VARCHAR () FOR MIXED DATA | NVARCHAR | NVARCHAR | DT_WSTR |
VARCHAR () FOR SBCS DATA | VARCHAR | VARCHAR | DT_STR |
CHARACTER VARYING | VARCHAR | VARCHAR | DT_STR |
CHARACTER VARYING () FOR BIT DATA | VARBINARY | VARBINARY | DT_BYTES |
CHARACTER VARYING () FOR MIXED DATA | NVARCHAR | NVARCHAR | DT_WSTR |
CHARACTER VARYING () FOR SBCS DATA | VARCHAR | VARCHAR | DT_STR |
NATIONAL CHARACTER VARYING | NVARCHAR | NVARCHAR | DT_WSTR |
LONG VARCHAR FOR BIT DATA | image | image | DT_IMAGE |
LONG VARCHAR | text | text | DT_TEXT |
GRAPHIC | NCHAR | NCHAR | DT_WSTR |
VARGRAPHIC | NVARCHAR | NVARCHAR | DT_WSTR |
GRAPHIC VARYING | NVARCHAR | NVARCHAR | DT_WSTR |
SMALLINT | SMALLINT | SMALLINT | DT_I2 |
INT | INT | INT | DT_I4 |
INTEGER | INT | INT | DT_I4 |
BIGINT | BIGINT | BIGINT | DT_I8 |
DECIMAL | NUMERIC | NUMERIC | DT_NUMERIC |
NUMERIC | NUMERIC | NUMERIC | DT_NUMERIC |
real | REAL | REAL | DT_R4 |
FLOAT | FLOAT | FLOAT | DT_R8 |
DOUBLE | FLOAT | FLOAT | DT_R8 |
DOUBLE PRECISION | FLOAT | FLOAT | DT_R8 |
BLOB | image | image | DT_BYTES |
BNARY LARGE OBJECT | image | image | DT_BYTES |
CLOB | text | text | DT_TEXT |
CLOB () FOR MIXED DATA | ntext | ntext | DT_NTEXT |
CLOB () FOR SBCS DATA | text | text | DT_TEXT |
CHAR LARGE OBJECT | text | text | DT_TEXT |
CHAR LARGE OBJECT () FOR MIXED DATA | ntext | ntext | DT_NTEXT |
CHAR LARGE OBJECT () FOR SBCS DATA | text | text | DT_TEXT |
CHARACTER LARGE OBJECT | text | text | DT_TEXT |
CHARACTER LARGE OBJECT () FOR MIXED DATA | ntext | ntext | DT_NTEXT |
CHARACTER LARGE OBJECT () FOR SBCS DATA | text | text | DT_TEXT |
130 | ntext | ntext | DT_NTEXT |
有关配置 SQL Server 2022 Integration Services 的详细信息,请参阅数据流部分。
自定义数据流组件
您可以使用 SQL Server Integration Services 数据流组件来执行默认和自定义的转换。 自定义转换是基于开发人员提供的自定义代码。
使用导入和导出向导要求使用 XML 格式的 SQL Server Integration Services 映射文件。 这些文件不可以用于数据流。 SQL Server Integration Services 提供了一个管道缓冲区类,以允许企业开发人员来在数据流内自定义数据映射。
有关使用 SQL Server 2022 Integration Services 自定义数据流组件的详细信息,请参阅数据流部分。