Oracle
连接类型 | ODBC、OLEDB 和 OCI(64 位) |
支持类型 | 读取和写入;数据库内 |
验证版本 | 数据库版本:12c 和 19c ODBC 客户端版本:1.4.10.1010 OCI 客户端 18C |
用于连接的 Alteryx 工具
标准工作流处理
数据库内工作流处理
连接到 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
如果存储过程中包含不受支持的数据类型,则:
设计器将数据类型设置为不受支持。
数据网格中的值列变为只读,并且禁用 确定 按钮,指示存储过程无法运行。
限制
表格中的最大列数:1000
最大列名长度:30 个字符
最大行大小:4GB(不包括 LOB 大小)
可变长度字符串可能返回 NULL 而不是空。
所有版本 - INT64 作为固定数字传输。不支持 SQL_C_BIGINT。
双精度数作为双精度浮点数传输。
单精度数作为单精度浮点数传输。
10.02.00.01 64 位 - 定点十进制问题
双精度数作为双精度浮点数传输。
单精度数作为单精度浮点数传输。
int64 作为双精度数传输。
布尔值作为字符串 (1) 传输。
日期时间作为字符串 (19) 传输。
双精度数作为双精度浮点数传输。
单精度数作为单精度浮点数传输。
使用 ODBC 和 OleDB 驱动程序无法检索空间数据。要在 Oracle 数据库中使用空间数据,请使用 OCI 驱动程序 进行连接。
已知问题
Alteryx doesn’t support inserting into an Oracle table that uses sequence.
A single workflow with ODBC connections cannot contain either OleDB or OCI connections using the same driver.
OCI 是其自己的 API,独立于 ODBC,对连接器使用特定调用,因此其行为可能与 ODBC 不一致。
如果要通过 OCI 连接连接到包含 Unicode® 编码数据的 Oracle 数据库,请在“输入数据工具配置”窗口中选择“强制 SQL WChar 支持”。然后,字符列将被视为 SQL_WCHAR、SQL_WVARCHAR 或 SQL_WLONGVARCHAR。如果是 ODBC连接,请使用“Oracle ODBC 驱动程序配置-变通办法”中的“强制 SQL_WCHAR 支持”选项。
如果密码包含特殊字符或以特殊字符开头,与 Oracle 数据库的连接将会失败,并提示连接错误。非引号标识符必须以数据库字符集中的字母字符开头。带引号的标识符可以以任何字符开头。
为避免连接时出现错误,请将密码用双引号括起来。