通过此工作流,Essbase 可以使用您上载到 Essbase 服务器的驱动程序连接到任一 JDBC 数据源。
如果您是 Essbase 部署管理员,您可以配置 Essbase 以使用您上载到 Essbase 服务器计算机的首选驱动程序。Oracle 已使用 Oracle 驱动程序测试了 Essbase JDBC 连接。要使用其他供应商提供的 JDBC 驱动程序,请查阅驱动程序文档,了解有关指定 JDBC 数据源的 URL 和身份证明的要求。有关性能相关的步骤,请参阅供应商 JDBC 文档。
注:
确保用于 Essbase 的 JDBC 驱动程序支持使用 setFetchSize 方法控制在处理结果集时使用的内存。为了在数据加载和维构建过程中获得最佳性能,Essbase 在每次网络调用中提取 1000 个记录。
要配置 Essbase 以使用一般 JDBC 驱动程序,请执行以下操作:
使用 SSH 连接到 Essbase 服务器计算机。
手动在服务器实例上的 <Essbase 产品主目录> 中创建 drivers
目录。
确保 drivers
全小写,因为路径区分大小写。
从供应商站点,下载要使用的的 JDBC 驱动程序 JAR。
Essbase 支持的 Oracle 数据库 JDBC 驱动程序为 ojdbc8.jar
。
如果使用自治数据仓库,则需要下载包含 Oracle JDBC 瘦驱动程序和配套 JAR 的完整档案 (ojdbc8-full.tar.gz
)。
将 JDBC 驱动程序 jar 上载到 Essbase 实例上的 drivers
目录。
仅将每个数据库驱动程序的一个版本上载到 drivers
目录。例如,不要同时上载 sqljdbc41.jar
和 sqljdbc42.jar
,否则 Essbase 将使用较旧版本(因为在 CLASSPATH 中它位于首位)。
如果使用自治数据仓库,则提取档案 (ojdbc8-full.tar.gz
) 并将所有内容直接移至 drivers
目录(不是子文件夹)。
创建与 JDBC 驱动程序的连接。
在 Essbase Web 界面中,依次单击源和连接。
或者,要在应用程序级别而不是全局定义连接和数据源,请从“应用程序”页开始,而不是从“源”页开始,依次单击应用程序名称和源。
单击创建连接,然后选择 JDBC。
Essbase 会在 drivers
文件夹中查找 JDBC 驱动程序。如果未找到 jar
文件,当您测试连接时,Essbase 将返回“未找到类”(或无法加载驱动程序)。
在创建连接屏幕中,
提供 JDBC 连接的名称。例如 Oracle JDBC。
在 "URL" 字段中,提供 JDBC 连接字符串。例如 jdbc:oracle:thin:@myserver.example.com:1521/orclpdb.example.com
。从 JDBC 提供程序获取 JDBC 连接字符串。
以上语法格式仅适用于 Oracle 数据库。如果您使用其他提供程序,请参见一般 JDBC 驱动程序的其他连接示例。
对于“用户”和“密码”字段,输入有权访问数据库的用户的身份证明。
在“驱动程序”字段中,提供 JDBC 驱动程序的全限定类名。例如,oracle.jdbc.driver.OracleDriver
。
对于 Oracle 驱动程序,使用以下语法准则指定 URL:
如果在监听程序中注册了 Oracle 数据库,则您可以使用短语法 jdbc:oracle:thin:@<host>:<port>/<servicename>
在 URL 中使用服务名称,而不是 SID。示例:
jdbc:oracle:thin:@myserver.example.com:1521/orclpdb.example.com
以下示例采用长语法使用服务名称。
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(host=myserver.example.com)(protocol=tcp)(port=1521))(CONNECT_DATA=(SERVICE_NAME=orclpdb.example.com)))
要使用唯一标识数据库的 Oracle 系统 ID (Oracle System ID, SID),请使用语法 jdbc:oracle:thin:@<host>:<port>:<SID>
。例如:
jdbc:oracle:thin:@myhost:1521:orcl
如果您要在 URL 语法中使用自治数据仓库,则必须包含 TNS_ADMIN 环境变量,以指定 Wallet 的路径。Wallet 可以位于 Essbase 服务器计算机上的任何位置,但您必须使用类似于 jdbc:oracle:thin:@database_service_name?TNS_ADMIN=walletpath
的语法提供完整路径。
Linux 示例
jdbc:oracle:thin:@adwsql_low?TNS_ADMIN=/scratch/oracle_home/dist/essbase/drivers/adwConn
Windows 示例
jdbc:oracle:thin:@adwsql_low?TNS_ADMIN="C:\\Oracle123\\Middleware\\Oracle_Home\\essbase\\drivers\\adwConn"
OCI 部署上的示例
jdbc:oracle:thin:@adwsql_low?TNS_ADMIN=/u01/data/essbase/catalog/users/firstname.lastname@example.com/adwconn
以上示例仅适用于 Oracle 数据库。如果您使用其他提供程序,请参见一般 JDBC 驱动程序的其他连接示例。
单击测试验证连接,如果验证成功,则单击创建。
验证连接已成功创建并且显示在连接列表中。
基于一般 JDBC 驱动程序连接创建数据源。
单击数据源,然后单击创建数据源。
从连接下拉框中,选择您刚刚创建的连接的名称,例如 Oracle JDBC。应用程序级别连接以应用程序名称作为前缀,其格式为 appName.connectionName。
提供数据源的名称,例如 OracleDB_Datasource。
(可选)输入数据源的说明;例如 SAMPLE_BASIC_TABLE on Oracle Database。
在“查询”字段中,提供合适的 SQL 查询,该查询可选择您希望在此数据源中可用的数据。
单击下一步。如果查询表时使用的 SQL 语句正确,则查询的列将会填充。
将任何数值列更改为“双精度”,然后单击下一步。
更改任何其他源特定的参数(如果适用),然后单击下一步。有关参数使用的信息,请参见为数据源实施参数。
检查预览窗格。您应该会看到从外部源提取数据列的查询的结果。
如果预览看上去正确,请单击创建以完成数据源创建。