oracle服务器型号,Oracle 发布服务器的数据类型映射 - SQL Server | Microsoft Docs

指定 Oracle 发布服务器的数据类型映射

03/14/2017

本文内容

适用于:

719f28649793c602f9270966b5ed5c39.pngSQL Server(所有支持的版本)

本主题说明如何使用 SQL Server 或 SQL Server Management Studio 在 Transact-SQL中指定 Oracle 发布服务器的数据类型映射。 虽然已经为 Oracle 发布服务器提供了一组默认数据类型映射,但可能仍有必要为给定发布指定不同的映射。

本主题内容

使用 SQL Server Management Studio

在“项目属性 - ”对话框的“数据映射”选项卡上指定数据类型映射 。 可以从新建发布向导和“发布属性 - ”对话框的“项目”页中访问该对话框 。 有关使用该向导和访问该对话框的详细信息,请参阅从 Oracle 数据库创建发布以及查看和修改发布属性。

指定数据类型映射

在新建发布向导或“发布属性 - ”对话框的“项目”页上,选择一个表,然后单击“项目属性” 。

单击 “设置突出显示的表项目的属性” 。

在“项目属性 - ”对话框的“数据映射”选项卡上,从“订阅服务器数据类型”列中选择映射 :

对于某些数据类型,只能有一种可能的映射,在这种情况下,属性网格中的相应列是只读的。

对于某些数据类型,有多种可供选择的映射类型。 除非您的应用程序需要使用其他映射,否则Microsoft 建议使用默认映射。 有关详细信息,请参阅 Data Type Mapping for Oracle Publishers。

单击“确定”。

使用 Transact-SQL

可以使用复制存储过程,以编程方式指定自定义数据类型映射。 还可以设置在 Microsoft SQL Server 与非 SQL Server 数据库管理系统 (DBMS) 间映射数据类型时使用的默认映射。 有关详细信息,请参阅 Data Type Mapping for Oracle Publishers。

在创建属于 Oracle 发布的项目时定义自定义数据类型映射

如果尚不存在 Oracle 发布,请创建一个。

在分发服务器上,执行 sp_addarticle。 将 @use_default_datatypes 的值指定为 0。 有关详细信息,请参阅 定义项目。

在分发服务器上,执行 sp_helparticlecolumns 以查看已发布项目中某列的现有映射。

在分发服务器上,执行 sp_changearticlecolumndatatype。 为 @publisher 指定 Oracle 发布服务器的名称,并指定 @publication、@article 和 @column 以定义已发布的列。 为 @type 指定要映射到的 SQL Server 数据类型的名称,并在必要时指定 @length、@precision 和 @scale。

在分发服务器上,执行 sp_articleview。 这将创建用于从 Oracle 发布生成快照的视图。

将映射指定为数据类型的默认映射

(可选)在分发服务器上,对任意一个数据库执行 sp_getdefaultdatatypemapping。 指定 @source_dbms、@source_type、@destination_dbms、@destination_version 以及标识源 DBMS 所需的其他任何参数。 将使用输出参数返回有关目标 DBMS 中当前映射的数据类型的信息。

(可选)在分发服务器上,对任意一个数据库执行 sp_helpdatatypemap。 指定 @source_dbms 以及筛选结果集所需的其他任何参数。 记下结果集中所需映射的 mapping_id 的值。

如果知道在步骤 2 中获取的 mapping_id 的所需值,请为 @mapping_id 指定该值。

如果不知道 mapping_id,请指定 @source_dbms、@source_type、@destination_dbms、@destination_type 参数以及标识现有映射所需的其他任何参数。

查找针对给定的 Oracle 数据类型的有效数据类型

在分发服务器上,对任何一个数据库执行 sp_helpdatatypemap。 将 @source_dbms 的值指定为 ORACLE ,并指定筛选结果集所需的其他任何参数。

示例 (Transact-SQL)

此示例将对其类型为 Oracle 数据类型 NUMBER 的列进行更改,以将该列映射到 SQL Server 数据类型 numeric(38,38) 而非默认数据类型 float 中指定 Oracle 发布服务器的数据类型映射。

EXEC sp_changearticlecolumndatatype

@publication = 'OraPublication',

@publisher = 'OraPublisher',

@article = 'OraArticle',

@column = 'OraArticleCol',

@type = 'numeric',

@scale = 38,

@precision = 38;

GO

此示例查询将返回 Oracle 9 数据类型 CHAR 的默认映射及替代映射。

EXEC sp_helpdatatypemap

@source_dbms = N'ORACLE',

@source_version = 9,

@source_type = N'CHAR';

GO

此示例查询在未对 Oracle 9 数据类型 NUMBER 指定小数位数或精度时,返回该数据类型的默认映射。

EXEC sp_helpdatatypemap

@source_dbms = N'ORACLE',

@source_version = 9,

@source_type = N'NUMBER',

@defaults_only = 1;

GO

另请参阅

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值