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 自定义数据流组件的详细信息,请参阅数据流部分。