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 语句访问这些内容。执行存储过程时不会使用该引擎(此执行过程完全在数据库服务器上进行)。
访问存储过程
将“输入”、“输出”或“运行命令”工具拖到 Alteryx Designer 画布上。
选择连接文件或数据库菜单,然后选择“Oracle 数据库连接”。
在输入数据配置窗口中,选择 Pre SQL 语句或 Post SQL 语句。您可以在 SQL Editor 选项卡中输入一个或多个语句,也可以从存储过程列表中进行选择。
在配置前 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 数据库的连接将会失败,并提示连接错误。非引号标识符必须以数据库字符集中的字母字符开头。带引号的标识符可以以任何字符开头。
为避免连接时出现错误,请将密码用双引号括起来。



