创建用于一般 JDBC 驱动程序的连接和数据源

通过此工作流,Essbase 可以使用您上载到 Essbase 服务器的驱动程序连接到任一 JDBC 数据源。

如果您是 Essbase 部署管理员,您可以配置 Essbase 以使用您上载到 Essbase 服务器计算机的首选驱动程序。Oracle 已使用 Oracle 驱动程序测试了 Essbase JDBC 连接。要使用其他供应商提供的 JDBC 驱动程序,请查阅驱动程序文档,了解有关指定 JDBC 数据源的 URL 和身份证明的要求。有关性能相关的步骤,请参阅供应商 JDBC 文档。

注:

确保用于 Essbase 的 JDBC 驱动程序支持使用 setFetchSize 方法控制在处理结果集时使用的内存。为了在数据加载和维构建过程中获得最佳性能,Essbase 在每次网络调用中提取 1000 个记录。

要配置 Essbase 以使用一般 JDBC 驱动程序,请执行以下操作:

  1. 使用 SSH 连接到 Essbase 服务器计算机。

  2. 手动在服务器实例上的 <Essbase 产品主目录> 中创建 drivers 目录。

    确保 drivers 全小写,因为路径区分大小写。

  3. 从供应商站点,下载要使用的的 JDBC 驱动程序 JAR。

    Essbase 支持的 Oracle 数据库 JDBC 驱动程序为 ojdbc8.jar

    如果使用自治数据仓库,则需要下载包含 Oracle JDBC 瘦驱动程序和配套 JAR 的完整档案 (ojdbc8-full.tar.gz)。

  4. 将 JDBC 驱动程序 jar 上载到 Essbase 实例上的 drivers 目录。

    仅将每个数据库驱动程序的一个版本上载到 drivers 目录。例如,不要同时上载 sqljdbc41.jarsqljdbc42.jar,否则 Essbase 将使用较旧版本(因为在 CLASSPATH 中它位于首位)。

    如果使用自治数据仓库,则提取档案 (ojdbc8-full.tar.gz) 并将所有内容直接移至 drivers 目录(不是子文件夹)。

  5. 创建与 JDBC 驱动程序的连接。

    1. Essbase Web 界面中,依次单击连接

      或者,要在应用程序级别而不是全局定义连接和数据源,请从“应用程序”页开始,而不是从“源”页开始,依次单击应用程序名称和

    2. 单击创建连接,然后选择 JDBC

      Essbase 会在 drivers 文件夹中查找 JDBC 驱动程序。如果未找到 jar 文件,当您测试连接时,Essbase 将返回“未找到类”(或无法加载驱动程序)。

    3. 创建连接屏幕中,

      1. 提供 JDBC 连接的名称。例如 Oracle JDBC。

      2. 在 "URL" 字段中,提供 JDBC 连接字符串。例如 jdbc:oracle:thin:@myserver.example.com:1521/orclpdb.example.com。从 JDBC 提供程序获取 JDBC 连接字符串。

        以上语法格式仅适用于 Oracle 数据库。如果您使用其他提供程序,请参见一般 JDBC 驱动程序的其他连接示例

      3. 对于“用户”和“密码”字段,输入有权访问数据库的用户的身份证明。

      4. 在“驱动程序”字段中,提供 JDBC 驱动程序的全限定类名。例如,oracle.jdbc.driver.OracleDriver


      “创建连接”对话框,用于创建 JDBC 驱动程序连接类型。名称:Oracle JDBC,URL:jdbc:oracle:thin:@myserver.example.com:1521/orclpdb.example.com,用户:essbase,密码:(已模糊处理),驱动程序:oracle.jdbc.driver.OracleDriver,说明:Oracle JDBC 8 connection

      对于 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 驱动程序的其他连接示例

    4. 单击测试验证连接,如果验证成功,则单击创建

    5. 验证连接已成功创建并且显示在连接列表中。

  6. 基于一般 JDBC 驱动程序连接创建数据源。

    1. 单击数据源,然后单击创建数据源

    2. 连接下拉框中,选择您刚刚创建的连接的名称,例如 Oracle JDBC。应用程序级别连接以应用程序名称作为前缀,其格式为 appName.connectionName

    3. 提供数据源的名称,例如 OracleDB_Datasource。

    4. (可选)输入数据源的说明;例如 SAMPLE_BASIC_TABLE on Oracle Database

    5. 在“查询”字段中,提供合适的 SQL 查询,该查询可选择您希望在此数据源中可用的数据。

    6. 单击下一步。如果查询表时使用的 SQL 语句正确,则查询的列将会填充。

    7. 将任何数值列更改为“双精度”,然后单击下一步

    8. 更改任何其他源特定的参数(如果适用),然后单击下一步。有关参数使用的信息,请参见为数据源实施参数

    9. 检查预览窗格。您应该会看到从外部源提取数据列的查询的结果。

    10. 如果预览看上去正确,请单击创建以完成数据源创建。