0 / 0
Go back to the English version of the documentation
无法在Data Virtualization中向下推送远程数据源上的连接视图
Last updated: 2024年11月26日
无法在Data Virtualization中向下推送远程数据源上的连接视图

有两个表来自相同的数据源并具有 VARCHAR 数据类型的两个列,您为这两个表创建了连接视图。 但是,连接视图在远程数据源上未向下推送。

症状

您在远程数据源上有两个表,其中包含 VARCHAR 数据类型的两个列。 您运行查询以创建这些表的连接视图。 但是,由于 VARCHAR 数据类型的两个列,连接视图在远程数据源上未创建或向下推送。

解决问题

要解决此问题,请完成下列步骤:
  1. dvsys.rdb_connections 表获取 cid
    select cid, url from dvsys.rdb_connections;
  2. 运行以下命令以指定 VARCHAR2_COMPAT 选项,将 <cid> 替换为从步骤 1获取的值。
    alter server qplex options(set <cid>@varchar2_compat 'Y')
    
  3. 如果收到SQL1828N运行步骤 2时出现错误消息,请运行以下命令,将 <cid> 替换为从步骤 1获取的值。
    alter server qplex options(add <cid>@varchar2_compat 'Y')
    

VARCHAR2_COMPAT 选项提供了一种在外部设置 VARCHAR2_COMPAT 服务器属性的方法,但它无法用于解决尝试连接表时可能迂到的所有下推问题。 VARCHAR2_COMPAT 选项可能仅在某些情况下有帮助。

  • 如果连接谓词主要使用字符串比较,那么必须将 VARCHAR2_COMPAT 选项设置为 Y 以在远程数据源上下推连接视图。
  • 要比较 NULL 值和空字符串,必须将 VARCHAR2_COMPAT 选项设置为 N
  • 如果远程数据源为 Big SQLOracleDb2®(设置为 ORA 方式) ,那么可以将 VARCHAR2_COMPAT 选项设置为 Y 作为尾部空格。
Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more