Skip to main content

Oracle

连接类型

ODBC、OLEDB 和 OCI(64 位)

支持类型

读取和写入、数据库内

验证版本

数据库版本:12c 和 19c

ODBC 客户端版本:2.0.9.1009

OCI 客户端 18C

用于连接的 Alteryx 工具

标准工作流处理

数据库内工作流处理

连接到 Oracle

如需连接说明,请访问连接至 Oracle 数据库

  • 10.02.00.01 版 64 位 OLEDB 提供程序存在定点十进制问题。Alteryx 建议使用 11g 或更高版本的驱动程序。

  • Oracle 连接使用 Oracle 调用接口 (OCI) 库连接到 Oracle 数据库。此库是随数据库一起安装的客户端软件的一部分。

  • 数据库内工具不支持 Oracle OLEDB。使用 ODBC 或 OCI。

  • 仅支持用户名和密码验证。

存储过程

Alteryx 支持 Oracle 存储过程的多行、多个 SQL 语句。您可以通过 Pre-SQL 和 Post-SQL 语句访问这些内容。执行存储过程时不会使用该引擎(此执行过程完全在数据库服务器上进行)。

访问存储过程

  1. 将“输入”、“输出”或“运行命令”工具拖到 Alteryx Designer 画布上。

  2. 选择连接文件或数据库菜单,然后选择“Oracle 数据库连接”。

  3. 输入数据配置窗口中,选择 Pre SQL 语句Post SQL 语句。您可以在 SQL Editor 选项卡中输入一个或多个语句,也可以从存储过程列表中进行选择。

  4. 配置前 SQL 语句配置后 SQL 语句窗口和存储过程选项卡中,查看参数“数据类型”,然后为 OCl、ODBC 和 OLEDB 连接的每个存储过程参数输入值。选择所需的存储过程,然后选择确定

    • 选择将覆盖字段中内容的存储过程。无法从表格或查询文件格式选项菜单访问 Oracle 连接的存储过程。

    • 只会列出带 IN 参数的存储过程。

    • Oracle 数据类型映射到 Alteryx 的方式可能有所不同,具体取决于连接是 OLI、ODBC 还是 OLEDB。

    • 字符串参数必须在输入的值周围具有单个引号。

    • 在 Oracle 中调用存储过程的 SQL 语法应采用 CALL "sproc_name"(可选参数 1、可选参数 2...)的格式。

    • 在输入中使用时,值必须表示数据库中的值。

    • 您可以选择是希望默认情况下打开 SQL 编辑器还是存储过程选项卡。如果“SQL 编辑器”选项卡中没有文本,则默认选项卡为存储过程

不支持的数据类型

以下数据类型不受支持且无法被输入到存储过程参数值字段中:

  • 二进制类型:原始、长 RAW 和 BLOB

如果存储过程中包含不受支持的数据类型,则:

  • 设计器将数据类型设置为不受支持。

  • 数据网格中的值列变为只读,并且禁用确定按钮,指示存储过程无法运行。

限制

数据库

数据库版本 10g 和 11g 存在以下限制:

  • 表格中的最大列数:1000

  • 最大列名长度:30 个字符

  • 最大行大小:4GB(不包括 LOB 大小)

  • 可变长度字符串可能返回 NULL 而不是空。

ODBC

ODBC 客户端版本 10.02.00.03 (Vista)、10.02.00.01(32 位和 64 位)、11.01.00.06(32 位和 64 位)存在以下限制:

  • 所有版本 - INT64 作为固定数字传输。不支持 SQL_C_BIGINT。

  • 双精度数作为双精度浮点数传输。

  • 单精度数作为单精度浮点数传输。

OLEDB

OLEDB 客户端版本 10.02.00.03 (Vista)、10.02.00.01(32 位和 64 位)、11.01.00.06(32 位和 64 位)存在以下限制:

  • 10.02.00.01 64 位 - 固定小数 (FIXED DECIMAL) 问题。

  • 双精度数作为双精度浮点数传输。

  • 单精度数作为单精度浮点数传输。

Oracle 调用接口

Oracle 调用接口版本 10.02.00.03 (Vista)、10.02.00.01(32 位和 64 位)、11.01.00.06(32 位和 64 位)存在以下限制:

  • int64 作为双精度数传输。

  • 布尔值作为字符串 (1) 传输。

  • 日期时间作为字符串 (19) 传输。

  • 双精度数作为双精度浮点数传输。

  • 单精度数作为单精度浮点数传输。

空间数据检索

无法通过 ODBC 和 OleDB 驱动程序检索空间数据。要在 Oracle 数据库中使用空间数据,请使用 OCI 驱动程序进行连接。

已知问题

  • 在 Alteryx Designer 中使用 OCI 连接时,没有可将列指定为主键的选项。相比之下,Oracle ODBC 连接提供了更新键选项,使用户可以将任意列视为 Designer 中的主键。

  • 如果用户名超过 30 个字符,请改用 ODBC 连接,因为 OCI 连接不支持长度超过 30 个字符的用户名。

  • Alteryx 不支持插入使用序列的 Oracle 表格。

  • 具有 ODBC 连接的单个工作流不能包含使用同一驱动程序的 OleDB 或 OCI 连接。

  • OCI 是其自己的 API,独立于 ODBC,对连接器使用特定调用,因此其行为可能与 ODBC 不一致。

  • 如果通过 OCI 连接到包含 Unicode® 编码数据的 Oracle 数据库,请在“输入数据”工具的“配置”窗口中选择“强制 SQL WChar 支持”。然后,字符列将被视为 SQL_WCHAR、SQL_WVARCHAR 或 SQL_WLONGVARCHAR。如果是 ODBC连接,请使用“Oracle ODBC 驱动程序配置-变通办法”中的“强制 SQL_WCHAR 支持”选项。

  • 如果密码包含特殊字符或以特殊字符开头,与 Oracle 数据库的连接将会失败,并提示连接错误。非引号标识符必须以数据库字符集中的字母字符开头。带引号的标识符可以以任何字符开头。

    为避免连接时出现错误,请将密码用双引号括起来。