Spotfire® 用户指南

Oracle 连接器 - 功能和设置

可以使用 Oracle 连接器连接到 Oracle 数据库并访问其中的数据。在此页面上,可以了解相关功能、可用设置以及处理与 Oracle 的数据连接时的注意事项。

页面内容

连接器功能

当您使用 Oracle 连接器访问数据时,可以使用以下功能。

功能 支持?
加载方法
  • 导入(内存中)
  • 外部(数据库内)
  • 按需
自定义查询
预存程序 是,有要求。请参见下面的部分。
自定义连接属性
使用身份提供程序进行单点登录
在 Web 客户端中编写
包含在 Linux 上的 Spotfire 发行版中

数据源属性

以下是在使用 Oracle 连接器创建数据连接时可以配置的受支持的数据源属性。

选项 说明
连接类型

选择您希望如何输入有关要连接的 Oracle 数据库的信息。从以下选项中选择:

服务器

通过输入服务器名称和 Oracle 系统标识符 (SID) 或服务名称来连接到数据库。

连接描述符

通过输入连接描述符来连接到数据库。选择此选项可连接到 Oracle Real Application Clusters (RAC) 数据库。

服务器

您的数据所在的服务器名称。要包含端口号,请将其直接添加在服务器名称的后面,前面带有冒号。

端口号的示例:MyOracleDatabaseServer:1234

SID

[仅适用于“服务器”连接类型。]

选择此选项可指定在连接到数据库时要使用的 Oracle 系统标识符 (SID)。SID 用于唯一标识系统中的特定数据库。

服务名称

[仅适用于“服务器”连接类型。]

选择此选项可指定在连接到数据库时要使用的服务名。服务名为当您远程连接到数据库时所提供的 TNS(透明网络底层)别名。

连接描述符

输入数据库的位置和数据库服务的名称以连接到 Oracle 数据库。连接描述符以特定的方式设置格式。

有关如何设置连接描述符格式的信息,请参见 Oracle 官方文档。

身份验证方法

当登录到数据库时要使用的身份验证方法。

Windows 身份验证

当使用 Windows 身份验证(例如 Kerberos)时,系统将使用当前已登录用户的访问令牌。已提供对 Oracle 数据库相应访问权限的用户将能够连接和读取数据。

域凭据未存储在分析文件中。

Oracle 身份验证

使用数据库身份验证,身份验证通过数据库用户来执行。通过使用“数据源设置”对话框中的设置,可将数据库凭据作为分析文件的一部分加以存储和解密。如果在分析文件中找到凭据,则会使用这些凭据对数据库进行自动身份验证。

如果在分析文件中未找到凭据或凭据配置文件,则打开该文件的所有用户都将被提示输入数据库凭据。

请注意,如果嵌入到分析文件中的凭据失败,则不会提示输入凭据。

身份提供程序 (OAuth2)

使用身份提供程序(例如 Okta 或 Keycloak)登录。当您打开数据连接时,将会打开一个 Web 浏览器窗口,您可以使用身份提供程序的登录程序来登录。

身份提供程序

[仅适用于身份提供程序 (OAuth2) 身份验证。]

选择要用于登录数据源的身份提供程序。下拉菜单中提供的选项是您已向 OAuth2IdentityProviders 偏好添加的身份提供程序。

作用域

[仅适用于身份提供程序 (OAuth2) 身份验证。]

当您登录到数据源时,作用域决定了 Spotfire 代表您请求的权限。

默认值

使用您在 OAuth2IdentityProviders 偏好中为身份提供程序指定的默认作用域。

自定义

在文本框中手动输入作用域。用空格分隔值。

Scope_1 Scope_2
HA 事件

如果您连接的是 Oracle RAC 数据库,当 RAC 服务、服务成员或节点关闭时,选择“HA (高可用性)事件”可以让 Oracle Data Provider for .NET (ODP.NET) 连接池从池中删除连接。

注: 此选项仅在您连接到 Oracle RAC 数据库时有效。
负载平衡

如果您连接的是 Oracle RAC 数据库,选择此选项可让 Oracle Data Provider for .NET (ODP.NET) 连接池平衡 RAC 实例上的工作请求。

注: 此选项仅在您连接到 Oracle RAC 数据库时有效。
语句缓存清除

当在您 Spotfire 中关闭连接时,选择此选项可清空连接的语句缓存。

语句缓存用于在 Oracle 数据库内存中存储从 Spotfire 发送到 Oracle 的 SQL 语句(查询)副本。

语句缓存大小

[仅当启用“语句缓存清除”时才可用。]

指定可在语句缓存中存储的最大语句数量。

默认值为 0。

代理用户 ID 如果您想使用代理用户,请指定代理用户 ID。请注意,这与 Oracle 用户名不同。
代理密码 如果您使用的是代理身份验证,请指定此代理数据库用户的密码。请注意,这与 Oracle 用户密码不同。
连接存续时间 (秒)

在某些情况下,您可能想从 ODP.NET 连接池中删除某些连接。

使用连接存续时间选项,您可以指定打开连接的最短时间(以秒为单位)。当您在 Spotfire 中关闭连接时,如果连接打开时间已超出存续时间值,它将会从 ODP.NET 连接池中删除。

默认值为 0,这意味着不检查连接存续时间。

连接超时(秒)

指定与数据库建立连接允许的最大秒数。对于 Oracle,这是允许等待连接池中的空闲连接的最长时间。

默认值为 15。

注: 如果将连接超时设为零,则被视为永不超时。即,尝试连接时不设上限。通常不建议采取这种做法。
命令超时 (秒)

指定执行命令允许的最大秒数。

默认值为 120。

注: 如果将命令超时设为零,则被视为永不超时。即,尝试执行命令时不设上限。通常不建议采取这种做法。
提取大小(字节)

指定 OracleDataReader 的 FetchSize 属性的值。

默认值为 131072。

Oracle 连接数据源的自定义属性

以下是允许用作 Oracle 连接数据源中自定义属性的默认驱动程序设置列表。要了解如何更改允许的自定义属性,请参见控制允许哪些属性

默认允许的自定义属性

DBA Privilege, Decr Pool Size, Enlist, Incr Pool Size, Max Pool Size, Metadata Pooling, 
Min Pool Size, Persist Security Info, Pooling, Promotable Transaction, Self Tuning, Validate Connection

受支持的数据类型

设置到外部数据源的连接时,Spotfire 需要将数据源中的数据类型映射到 Spotfire 中的数据类型。以下是 Oracle 连接器支持的数据类型。

数据库数据类型 Spotfire 数据类型
BFILE Binary
BINARY_DOUBLE / REAL Real
BINARY_FLOAT / FLOAT SingleReal
BLOB Binary
CHAR String
CLOB String
DATE Date
INTERVAL DAY TO SECOND TimeSpan
LONG String
LONG RAW Binary
NCHAR String
NCLOB String
NUMBER (NUMBER(x, s))

Boolean (NUMBER(1)):Boolean

Integer (NUMBER(p) 2 <= p <= 9):Integer

Long (NUMBER(p) 10 <= p <= 18):LongInteger

Double (NUMBER(x, s) 16 > x > s > 0):Real

NVARCHAR / NVARCHAR2 String
RAW Binary
RAW(16) String
ROWID String
SDO_GEOMETRY Binary
TIMESTAMP DateTime
UROWID String
VARCHAR / VARCHAR2 String
XMLType String

支持的函数

支持的函数是指您在处理数据库中的数据表时可以使用的函数,例如在计算的列和自定义表达式中使用。

注: 您的数据库可能无法使用某些受支持的函数。这取决于数据库中可用的函数,不同数据库版本和类型之间通常会有差异。

以下是 Oracle 连接器支持的函数。

函数类型 支持的函数
日期和时间 Year, Quarter, Month, MonthsBetween, AddMonths, Week, WeekOfMonth, Day, LastDay, NextDay, DayOfMonth, DayOfWeek, DayOfYear, Hour, Minute, Second
转换 SN
数学 Abs, ACos, ASin, ATan, ATan2, Ceil, Cos, Cosh, Exp, Floor, Ln, Log, Power, Sin, Sinh, Sqrt, Tan, Tanh
运算符 +, -, *, /, %, Mod
统计 Sum, Avg, Min, Max, Count, UniqueCount, Median, Variance, Var_Pop, Var_Samp, StdDev, StdDev_Pop, StdDev_Samp, Corr, CoVar_Pop, CoVar_Samp, Regr_AvgX, Regr_AvgY, Regr_Count, Regr_Intercept, Regr_R2, Regr_Slope, Regr_SXX, Regr_SXY, Regr_SYY
文本 Concat, Instr, Length, Lower, LTrim, RTrim, Soundex, Trim, Upper

Oracle 也支持合并功能。

Oracle 中的预存程序

对于 Oracle 中的预存程序,必须满足以下要求:

  1. 输入(IN 或 IN/OUT)参数不得为光标。
  2. 输入(IN 或 IN/OUT)参数必须位于所有 OUT 参数之前。
  3. 第一个 OUT 参数将用于读取数据,并且其必须为 REF CURSOR。
  4. 所有后续的 OUT 参数都将忽略。

请勿经常更改预存程序的架构(例如,使用参数时,不得更改架构)。

注: 通常情况下,对于某些连接器,不输出数据表的预存程序不会显示在“连接中的视图”对话框中。