5 Manage Database Connections for Modeling Data
Administrators create and manage cloud database connections for modelling relational and non-relational data such as Essbase, Snowflake, or Oracle Enterprise Performance Management (Oracle EPM) data. Your business data doesn't have to be in one place. Connect to multiple cloud databases so that business modelers and analysts can analyze company data wherever it's stored.
Model Data in an Essbase Cube
Connect to an Essbase database so that you can model and visualize data from Essbase cubes.
Model Data in Snowflake Data Warehouse
Configure your on-premises environment so that you can model data in a Snowflake database.
You can create either a local or a remote connection to Snowflake from the semantic model. When creating a local (not remote) connection, the connection pool in the semantic model uses a JDBC connection.
- Configure a local Data Gateway agent to facilitate a connection from the
Developer Client Tool to Snowflake.
- Configure a connection to your Snowflake database.
- For a local connection, see Create a Local Semantic Model Connection to Snowflake.
- For a remote connection, see Create a Remote Semantic Model Connection to Snowflake:
Model Data in Google BigQuery
Connect to a Google BigQuery database so that you can model and visualize data from Google BigQuery.
Topics
Note: You can only model Google BigQuery data in Semantic Modeler or Model Administration Tool. These tasks describes the process using Model Administration Tool.
Create an Oracle Analytics Connection to Google BigQuery
You can create a system connection to a Google BigQuery database and use the connection to model the Google BigQuery project.
- On the Oracle Analytics Home page, click Create, and then click Connection.
- Click BigQuery.
- Enter the connection details.
- In Connection Name, specify a user-friendly name to identify the connection details in Oracle Analytics.
- In Project, specify the BigQuery project name in lower-case of the project that you want to analyze.
- In Service Account Private Key, click Select and upload the Service Account Private Key (JSON format) for your BigQuery service. The Service Account Email is populated from the uploaded key details.
- In System connection, select this option.
- Save the details.
Download and Set Up BigQuery ODBC Driver
Install the ODBC driver required for connection to Google BigQuery, and configure it in Model Administration Tool to enable you to model the project.
Build a Data Model from Google BigQuery Data Source
You build a data model for your Google BigQuery database so that you can deploy it to visualize data in a BigQuery project.
Troubleshoot repository connection issues for Google BigQuery
Here're some issues that you might encounter when connecting to Google BigQuery and work-arounds for them.
If 'Require fully qualified table names' isn't selected and a physical schema isn't part of the generated SQL, then queries fail with a message similar to 'Failed to read data from Java Datasource server'.
If the query is run against BigQuery using nqcmd or another SQL entry tool, the actual error message is displayed:
WITH SAWITH0 AS (select distinct T4.PROP_CD as c1 from FINOPS_RM_OCC_ACT T4) select 0 as c1, D1.c1 as c2 from SAWITH0 D1 order by c2
[Simba][BigQuery] (70) Invalid query: Table "FINOPS_RM_OCC_ACT" must be qualified with a dataset (e.g. dataset.table).
Statement preparation failed
The way to qualify the query with a dataset is to use a physical schema in the repository file.
If the Oracle Analytics connection uses an uppercase project name, the connection is created successfully.
You might see two different problems.
1. Queries fail with a 404 Not Found message about a masked URL:
[2022-03-17T01:13:44.105+00:00] [OBIS] [TRACE:2] [USER-34] [] [ecid: d6382db0-1e63-427e-893b-18bc00c0424e-0000de96,0:2:1:5] [sik: bootstrap] [tid: 856a6700] [messageId: USER-34] [requestid: 6358001e] [sessionid: 63580000] [username: Testuser] -------------------- Query Status: [nQSError: 46164] HTTP Server returned 404 (Not Found) for URL [masked_url]. [[
[nQSError: 46281] Failed to download metadata for dataset ‘system’.‘BigQuery Test’.
[nQSError: 43119] Query Failed:
2. Within Oracle Analytics, you see datasets but the underlying tables aren't available.
Description of the illustration googlebq15.png
In both cases, you can modify the connection so that the project name is lowercase.
When troubleshooting BigQuery connections in OAC, use a third-party JDBC client to try to connect to BigQuery using the same Service Account Key.
If the connection still fails, there is a problem with the Service Account Key.
If the connection is successful, there is a problem with Oracle Analytics and you should contact Oracle Support.
This test is helpful in cases where a .rpd is not used to connect to BigQuery and the Service Account Key is not verified through ODBC.
DSN Formats for Specifying Data Sources
In Oracle Analytics you can model your on-premises data for many database types. Oracle Analytics supports direct access to some on-premises data sources through the semantic model. When you create the database connection using Model Administration Tool, in the Data source name field on the Connection Pool dialog (General tab) you use the appropriate DSN format for the database type you're connecting to.
Amazon Redshift:
DRIVER=Oracle 7.1 Amazon Redshift Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
SSL: DRIVER=Oracle 7.1 Amazon Redshift Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"];EM=6;CPV=TLSv1.2,TLSv1.1,TLSv1, SSLv3, SSLv2;VSC=0
Apache Drill:
DRIVER=MapR Drill ODBC Driver;Host=["host-name"];Port=["port"];CastAnyToVarchar=true;ExcludedSchemas=sys,INFORMATION_SCHEMA;AuthenticationType=Basic Authentication;ConnectionType=Direct
Aster:
DRIVER=Aster ODBC Driver;SERVER=["host-name"];PORT=["port"];DATABASE=["service-name"]
DB2:
DRIVER=Oracle 7.1 DB2 Wire Protocol;IpAddress=["host-name"];PORT=["port"];DB=["service-name"]
SSL: DRIVER=Oracle 7.1 DB2 Wire Protocol;IpAddress=["host-name"];PORT=["port"];DB=["service-name"];EM=1;VSC=0
Greenplum:
DRIVER=Oracle 7.1 Greenplum Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
Hive:
DRIVER=Oracle 8.0 Apache Hive Wire Protocol;HOST=["host-name"];PORT=["port"]
SSL: DRIVER=Oracle 8.0 Apache Hive Wire Protocol;HOST=["host-name"];PORT=["port"];EM=1;VSC=0
Impala:
DRIVER=Oracle 7.1 Impala Wire Protocol;HOST=["host-name"];PORT=["port"]
SSL: DRIVER=Oracle 7.1 Impala Wire Protocol;HOST=["host-name"];PORT=["port"];EM=1;VSC=0
Informix:
DRIVER=Oracle 7.1 Informix Wire Protocol;HOSTNAME=["host-name"];PORTNUMBER=["port"];DATABASE=["service-name"]
MongoDB:
DRIVER=Oracle 8.0 MongoDB;HOST=["host-name"];PORT=["port"];DB=["service-name"]
MySQL:
DRIVER=Oracle 7.1 MySQL Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
PostgresSql:
DRIVER=Oracle 7.1 PostgreSQL Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
Spark:
DRIVER=Oracle 8.0 Apache Spark SQL;HOST=["host-name"];PORT=["port"]
SSL: DRIVER=Oracle 8.0 Apache Spark SQL;HOST=["host-name"];PORT=["port"];EM=1;VSC=0
SQL Server:
DRIVER=Oracle 7.1 SQL Server Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
SSL: DRIVER=Oracle 7.1 SQL Server Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"];EM=1;VSC=0;CryptoProtocolVersion=TLSv1.2,TLSv1.1,TLSv1,SSLv3,SSLv2
Sybase:
DRIVER=Oracle 7.1 Sybase Wire Protocol;NA=["host-name"], ["port"];DB=["service-name"]
Teradata:
DRIVER=Oracle 7.1 Teradata;DBCName=["host-name"];port_name=["port"]