IT猫扑网文章教程

分类分类

SQL Server 分布式查询:OLE DB连接(二)

2015-06-28 00:00作者:网管联盟

  分布式查询中数据类型的处理

OLE DB 提供程序按照由OLE DB 定义的数据类型(由 OLE DB 的 DBTYPE 指示)表明它们的数据。SQL Server 在服务器中以本地的SQL Server 类型处理外部数据;不管数据是被SQL Server 使用还是从SQL Server 导出,这种处理方式都会产生从 OLE DB 数据类型到SQL Server 本地数据类型的映射(见表 3)或者从SQL Server 本地数据类型到 OLE DB 数据类型的映射。这种映射是以隐含方式实现的,除非另外注明。

分布式查询中的数据类型使用下列两种映射方式之一进行处理:

表 3:SQL Server 和 OLE-DB 数据类型映射表。

展开全部

相关文章

说两句网友评论
    我要跟贴
    取消
    OLE DB 类型 DBCOLUMNFLAG SQL Server 数据类型
    DBTYPE_I1*   numeric(3,0)
    DBTYPE_I2   smallint
    DBTYPE_I4   int
    DBTYPE_I8   numeric(19,0)
    DBTYPE_UI1   tinyint
    DBTYPE_UI2*   numeric(5,0)
    DBTYPE_UI4*   numeric(10,0)
    DBTYPE_UI8*   numeric(20,0)
    DBTYPE_R4   float
    DBTYPE_R8   real
    DBTYPE_NUMERIC   numeric
    DBTYPE_DECIMAL   decimal
    DBTYPE_CY   money
    DBTYPE_BSTR DBCOLUMNFLAGS_ISFIXEDLENGTH=true
    或最大长度大于 4000 个字符
    ntext
    DBTYPE_BSTR DBCOLUMNFLAGS_ISFIXEDLENGTH=true nchar
    DBTYPE_BSTR DBCOLUMNFLAGS_ISFIXEDLENGTH=false nvarchar
    DBTYPE_IDISPATCH   Error
    DBTYPE_ERROR   Error
    DBTYPE_BOOL   bit
    DBTYPE_VARIANT*   nvarchar
    DBTYPE_IUNKNOWN   Error
    DBTYPE_GUID   uniqueidentifier
    DBTYPE_BYTES DBCOLUMNFLAGS_ISLONG=true 或最大长度大于 8000 image
    DBTYPE_BYTES DBCOLUMNFLAGS_ISROWVER=true,
    DBCOLUMNFLAGS_ISFIXEDLENGTH=true、
    列大小等于 8 或未报告最大长度。
    timestamp
    DBTYPE_BYTES DBCOLUMNFLAGS_ISFIXEDLENGTH=true binary
    DBTYPE_BYTES DBCOLUMNFLAGS_ISFIXEDLENGTH=true varbinary
    DBTYPE_STR DBCOLUMNFLAGS_ISFIXEDLENGTH=true char
    DBTYPE_STR DBCOLUMNFLAGS_ISFIXEDLENGTH=true varchar
    DBTYPE_STR DBCOLUMNFLAGS_ISLONG=true 或最大长度大于 8000 个字符或未报告最大长度。 text
    DBTYPE_WSTR DBCOLUMNFLAGS_ISFIXEDLENGTH=true nchar
    DBTYPE_WSTR DBCOLUMNFLAGS_ISFIXEDLENGTH=false nvarchar
    DBTYPE_WSTR DBCOLUMNFLAGS_ISLONG=true 或 最大长度大于 4000 个字符或未报告最大长度。 ntext
    DBTYPE_UDT