レポート用のデータ・ゲートウェイの構成および登録

分析およびダッシュボードなどのクラシック機能のリモート接続を有効化する場合、次のオプション・ステップを実行します。

データ・ビジュアライゼーション(たとえば、Oracle Analytics Cloud Professional Edition)のみをデプロイしている場合、次のステップに従う必要はありません。
開始する前に、データ・ビジュアライゼーション用のデータ・ゲートウェイの構成の構成ステップに従ってください。
  1. データ・ゲートウェイ・エージェントをインストールしたマシンで、マシン名とポート番号を取得します。
    サーバー・デプロイメントでは:
    1. コマンド/<Data Gateway install folder>/domain/bin/status.shを実行します。
    2. コマンド出力で、データ・ゲートウェイ・ステータスに表示されたURL内に含まれるマシン名と、データ・ゲートウェイJetty HTTPポートの値を書き留めます。
    個人デプロイメントでは:
    1. ファイル%localappdata%\Temp\DataGateway\ports.propertiesを開きます。
    2. マシン名とポート番号を書き留めます。
  2. データ・ゲートウェイ・エージェントを起動します。
  3. データへのリモート接続を開始する前にそのデータをモデル化する場合は、セマンティック・モデラーまたはモデル管理ツール(データベースがセマンティック・モデラーによってサポートされていない場合)を使用して、セマンティック・モデルを編集します。
  4. モデル管理ツールを使用している場合は、Javaデータ・ソース・メタデータをロードします。
    1. モデル管理ツールの「ファイル」メニューで、「開く」をクリックし、「クラウド」で「クラウドで開く」ダイアログを使用して、セマンティック・モデルの詳細を指定します。
    2. 「ファイル」メニューで、Javaデータ・ソースのロードをクリックします。
    3. 「Javaデータソース・サーバーに接続」ダイアログで:
      • 「ホスト名」フィールドに、ステップ1で書き留めておいたマシン名を入力します。完全修飾ホスト名を使用します。たとえば、ステップ1でmachineと書き留めてある場合、machine.us.example.comと指定します。
      • 「ポート」フィールドに、ステップ1で書き留めておいたポートを入力します。たとえば、51811です。
      • 「ユーザー名」および「パスワード」フィールドに、dummyなどの任意の文字列を入力します(これはデータ・ゲートウェイが公開している機能を検出するためのパブリック・コールであるため、これらの資格証明は検証されません)。
  5. モデル管理ツールを使用している場合は、物理データベース接続を設定します:
    1. 物理レイヤーで、データ・ソースに適した標準のコール・インタフェースを使用して、データ・ソースへのローカル(リモートではない)接続を作成し、必要に応じてデータをモデリングします。
    2. セマンティック・モデルへのリモート接続を作成してクラウドに公開する準備ができたら、作成した接続を編集します。
    3. 「一般」タブの「コール・インタフェース」フィールドで、JDBC (ダイレクト・ドライバ)を選択し、「接続文字列」フィールドで、セマンティック・モデル接続のJDBC文字列および資格証明を指定します。サポートされるJDBC文字列およびドライバ・クラスのリストは、次の「JDBCとJNDIのテンプレートおよび例」を参照してください。
    4. 「その他」タブの「SQL Over HTTPの使用」フィールドにtrueと入力し、RDCバージョン・フィールドに2と入力して、JDBCドライバ・クラスを指定します。
    5. クラウドにセマンティック・モデルを公開します。
これで、オンプレミス・データベースにリモート接続して、デプロイメントをテストする準備ができました。

JDBCとJNDIのテンプレートおよび例

分析とダッシュボードのためのリモート接続を設定する場合、状況によっては、JDBC文字列およびドライバ・クラスと、JNDI接続詳細およびコンテキスト詳細を指定する必要があります。

JDBC文字列パターンおよびドライバ・クラス
Oracle:
   Driver Class: oracle.jdbc.OracleDriver
   jdbc string: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=[\"host-name\"])(PORT=[\"port\"]))(CONNECT_DATA=(SERVICE_NAME=[\"service-name\"])))              
Amazon Redshift:
   Driver Class: com.oracle.jdbc.redshift.RedshiftDriver 
   JDBC String: jdbc:oracle:redshift://[\"host-name\"]:[\"port\"];DatabaseName=[\"service-name\"];EncryptionMethod=SSL;ValidateServerCertificate=false
Apache Hive
    Driver Class: com.oracle.bi.jdbc.hive.HiveDriver
    JDBC String: jdbc:oracle:hive://[\"host-name\"]:[\"port\"];EncryptionMethod=SSL;ValidateServerCertificate=false
DB2
   Driver Class: com.oracle.bi.jdbc.db2.DB2Driver
   JDBC String: jdbc:oracle:db2://[\"host-name\"]:[\"port\"];DatabaseName=[\"service-name\"]
Impala
   Driver Class: com.oracle.bi.jdbc.impala.ImpalaDriver
   JDBC String: jdbc:oracle:impala://[\"host-name\"]:[\"port\"];EncryptionMethod=SSL;ValidateServerCertificate=false
MySQL
   Driver Class: com.mysql.cj.jdbc.Driver
   JDBC String: jdbc:mysql://[\"host-name\"]:[\"port\"]"[/database][?properties]
SQL Server
   Driver Class: com.oracle.bi.jdbc.sqlserver.SQLServerDriver
   JDBC String: jdbc:oracle:sqlserver://[\"host-name\"]:[\"port\"];DatabaseName=[\"service-name\"]
Teradata
   Driver Class: com.teradata.jdbc.TeraDriver
   JDBC String: jdbc:teradata://[\"host-name\"]/DBS_PORT=[\"port\"]  
ネイティブ・ドライバ用のJNDIテンプレート
Oracle:
      <Resource               
      name="jdbc/myoracle"               
      global="jdbc/myoracle"               
      auth="Container"               
      type="javax.sql.DataSource"               
      driverClassName="oracle.jdbc.OracleDriver"                
      url="jdbc:oracle:thin:@localhost:1521:orcl"               
      username="my_user"               
      password="my_password"               
      maxActive="15"               
      maxIdle="1"                
      maxWait="-1"
      />

      <Resource               
      name="jdbc/oracleolap"               
      global="jdbc/oracleolap"               
      auth="Container"               
      type="javax.sql.DataSource"               
      driverClassName="oracle.jdbc.OracleDriver"                
      url="jdbc:oracle:thin:@localhost:1522:orcl112"               
      username="my_user"               
      password="my_password"          
      maxActive="15"               
      maxIdle="1"                
      maxWait="-1"
      />

      <Resource               
      name="jdbc/oraclenorthwind"               
      global="jdbc/oraclenorthwind"               
      auth="Container"               
      type="javax.sql.DataSource"               
      driverClassName="oracle.jdbc.OracleDriver"                
      url="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=example.com)(PORT=1234))(CONNECT_DATA=(SERVICE_NAME=MATSDB.EXMAPLE.COM)))"               
      username="my_user"               
      password="my_password"          
      maxActive="15"               
      maxIdle="1"                
      maxWait="-1"
      />

      DB2
      <Resource               
      name="jdbc/db2northdb"               
      global="jdbc/db2northdb"               
      auth="Container"               
      type="javax.sql.DataSource"               
      driverClassName="com.ibm.db2.jcc.DB2Driver"                
      url="jdbc:db2://example.com:58263/NORTHDB"               
      username="my_user"               
      password="my_password"              
      maxActive="15"               
      maxIdle="1"                 
      maxWait="-1" />

      SQLServer: 
      <Resource               
      name="jdbc/sqlservernorthwind"               
      global="jdbc/sqlservernorthwind"               
      auth="Container"               
      type="javax.sql.DataSource"               
      driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"               
      url="jdbc:sqlserver://example.com:61045;DatabaseName=Northwind"               
      username="my_user"               
      password="my_password"           
      maxActive="15"               
      maxIdle="1"                
      maxWait="-1" /> 

      Teradata:
      <Resource               
      name="jdbc/teranorthwind"               
      global="jdbc/teranorthwind"               
      auth="Container"               
      type="javax.sql.DataSource"               
      driverClassName="com.teradata.jdbc.TeraDriver"                
      url="jdbc:teradata://99.999.99.999"               
      username="my_user"               
      password="my_password"           
      maxActive="15"               
      maxIdle="1"                
      maxWait="-1" />

      Mysql_community
      <Resource        
      name="jdbc/CEmysql"        
      auth="Container"        
      type="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"        
      factory="com.mysql.jdbc.jdbc2.optional.MysqlDataSourceFactory"        
      username="my_user"               
      password="my_password"    
      serverName="example.com"        
      portNumber="3306"        
      databaseName="my_database" />
DDドライバ用のJNDIテンプレート
The JNDI for DD Drivers.
SQLServer:
<Resource
name="jdbc/DDsqlserver"
auth="Container"
type="com.oracle.bi.jdbcx.sqlserver.SQLServerDataSource"
factory="com.oracle.bi.jdbcx.sqlserver.SQLServerDataSourceFactory"
user="my_user"
password="my_password"
serverName="example.com\MSSQLSERVER16"
portNumber="61045"
databaseName="my_database" />

DB2:
<Resource
name="jdbc/DDdb2"
auth="Container"
type="com.oracle.bi.jdbcx.db2.DB2DataSource"
factory="com.oracle.bi.jdbcx.db2.DB2DataSourceFactory"
user="my_user"
password="my_password"
serverName="example.com"
portNumber="58263"
databaseName="my_database"
/> 

Impala:
<Resource
name="jdbc/DDimpala"
auth="Container"
type="com.oracle.bi.jdbcx.impala.ImpalaDataSource"
factory="com.oracle.bi.jdbcx.impala.ImpalaDataSourceFactory"
user="my_user"
password="my_password"
serverName="example.com"
portNumber="21050"
databaseName="my_database"
/>

Spark:
<Resource
name="jdbc/DDspark"
auth="Container"
type="com.oracle.bi.jdbcx.sparksql.SparkSQLDataSource"
factory="com.oracle.bi.jdbcx.sparksql.SparkSQLDataSourceFactory"
user="my_user"
password="my_password"
serverName="example.com"
portNumber="10000"
databaseName="my_database"
/>

HIVE:
<Resource
name="jdbc/DDhive"
auth="Container"
type="com.oracle.bi.jdbcx.hive.HiveDataSource"
factory="com.oracle.bi.jdbcx.hive.HiveDataSourceFactory"
user="my_user"
password="my_password"
serverName="example.com"
portNumber="10000"
databaseName="my_database"
/> 

MySQL:
<Resource
name="jdbc/DDmysql"
auth="Container"
type="com.oracle.bi.jdbcx.mysql.MySQLDataSource"
factory="com.oracle.bi.jdbcx.mysql.MySQLDataSourceFactory"
user="my_user"
password="my_password"
serverName="example.com"
portNumber="3306"
databaseName="my_database"
/>

MYSQL:
<Resource
name="jdbc/DDmysql"
auth="Container"
type="com.oracle.bi.jdbcx.mysql.MySQLDataSource"
factory="com.oracle.bi.jdbcx.mysql.MySQLDataSourceFactory"
user="my_user"
password="my_password"
serverName="example.com"
portNumber="3306"
databaseName="my_database" 
/>
     

データ・ゲートウェイへのJDBCドライバの追加

オンプレミス・データベースでデータをモデリングできるように、データ・ゲートウェイ・インストールにJDBCドライバを追加します。

開始する前に、オンプレミス環境の同一のWindowsコンピュータにデータ・ゲートウェイとモデル管理ツールがインストールされていることを確認します。
  1. デプロイするJDBCドライバをダウンロードします。
    たとえば、スノーフレーク・データベースのデータをモデリングするには、(ファイルsnowflake-jdbc-3.9.0.jarなどの)最新のスノーフレークJDBCドライバをダウンロードします。
  2. ダウンロードしたJDBC JARファイルをデータ・ゲートウェイのインストール・フォルダにコピーします。
    • サーバー・デプロイメントでは、JARファイルを<Data Gateway install_location>/domain/jettybase/thirdpartyDriversにコピーします。
    • Windowsの個人デプロイメントでは、JARファイルを<Data Gateway_extract_path>\thirdpartyDriversにコピーします。
    • MacOSの個人デプロイメントでは、JARファイルを<Application->Show Package Contents>Resources->app.nw-> thirdpartyDriversにコピーします。
  3. データ・ゲートウェイを再起動します。データ・ゲートウェイの保守を参照してください。

データソースを指定するためのDSN形式

Oracle Analyticsでは、多数のデータベース・タイプのオンプレミス・データをモデリングできます。Oracle Analyticsでは、セマンティック・モデルを介した一部のオンプレミス・データ・ソースへの直接アクセスがサポートされています。モデル管理ツールを使用してデータベース接続を作成するときに、「接続プール」ダイアログ(「一般」タブ)の「データ・ソース名」フィールドで、接続先のデータベース・タイプに適したDSN形式を使用します。

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"]