通过 JDBC 包装程序配置对数据源的访问

要配置联合服务器以访问 JDBC 数据源,必须向联合服务器提供有关要访问的数据源和对象的信息。

准备工作

通过 JDBC API 访问的数据源在此文本中称为 JDBC 数据源。

  • 必须在充当联合服务器的计算机上安装和配置 JDBC 驱动程序。
  • 请检查联合参数以确保已启用联合。

关于本任务

限制

  • 仅在受防护方式下支持 JDBC 包装器。
  • JDBC 包装器不支持以下函数和语句:
    • 昵称上的 LOCK TABLE 语句
    • 语句级隔离
  • JDBC 数据源不支持定位更新和删除操作。
  • JDBC 包装器不支持对限制每个连接的活动语句数的数据源执行 INSERT , UPDATE 或 DELETE 语句。 请参阅数据源的文档,以确定数据源是否限制每个连接的活动语句数。
  • JDBC 包装器不支持对包含具有使用特定于驱动程序的 SQL 数据类型指示符的数据类型的列的表执行操作。 不支持的操作类型包括传递会话中的 CREATE NICKNAME 和 SELECT 语句。 JDBC 包装器仅支持由 JDBC 规范 3.0 及更高版本定义的 SQL 数据类型指示符。 请参阅 JDBC 驱动程序文档以了解 JDBC 规范。
  • JDBC 包装器在传递会话中不支持 LOB。
  • 对类型映射和数据类型转换的限制:
    • 不受支持的数据类型 :ARRAY , DATALINK , DISTINCT , JAVA_OBJECT , REF , STRUCT 和 OTHER
    • 支持有限的数据类型:
      • 对 XML 数据类型的支持受到限制。 仅当相关 JDBC 数据类型为 CLOB 或 SQLXML (JDBC 4.0) 数据类型时,联合服务器才会处理 aCLOB 数据类型。 否则,不支持 XML 数据类型。
      • DBCS 和 UNICODE 数据类型由 JDBC 包装器存储为 UCS-2。
      • Db2® 数据库中的 DECFLOAT 数据类型和 Oracle 数据库中的 NUMBER 数据类型具有更大的作用域; 它们的格式可以与相应的 JDBC 包装器数据类型不同。 映射到 DECFLOAT 或 NUMBER 数据类型可能会导致不准确的结果。

过程

  1. 准备联合服务器以通过 JDBC 包装程序访问数据源。
  2. 注册 JDBC 包装器
  3. 注册 JDBC 数据源的服务器定义
  4. 为 JDBC 数据源创建用户映射
  5. 测试与 JDBC 数据源服务器的连接
  6. 注册 JDBC 数据源表和视图的昵称