Configurare e registrare Data Gateway per il reporting

Eseguire le operazioni dei passi facoltativi descritti per abilitare la connettività remota per le funzioni classiche nelle analisi e nei dashboard.

Se si sta eseguendo la distribuzione per la visualizzazione dei dati (ad esempio, Oracle Analytics Cloud Professional Edition), non è necessario attenersi alla procedura riportata di seguito.
Prima di iniziare seguire i passi di configurazione descritti in Configurare Data Gateway per la visualizzazione dei dati.
  1. Ottenere il nome del computer e il numero di porta del computer in cui si è installato un agente Data Gateway.
    In una distribuzione server effettuare le operazioni riportate di seguito.
    1. Eseguire il comando /<Data Gateway install folder>/domain/bin/status.sh.
    2. Nell'output del comando prendere nota del nome del computer presente nell'URL visualizzato sotto Stato del Data Gateway e del valore Porta HTTP Jetty del Data Gateway.
    In una distribuzione personale effettuare le operazioni riportate di seguito.
    1. Aprire il file %localappdata%\Temp\DataGateway\ports.properties.
    2. Prendere nota del nome del computer e del numero di porta.
  2. Avviare l'agente Data Gateway.
  3. Se si desidera modellare i dati prima di avviare la connessione ai dati in remoto, utilizzare Semantic Modeler o Model Administration Tool (se il database non è supportato da Semantic Modeler) per modificare il modello semantico.
  4. Se si utilizza Model Administration Tool, caricare i metadati dell'origine dati Java.
    1. In Model Administration Tool aprire il menu File e fare clic su Apri, quindi fare clic su Nel cloud e usare la finestra di dialogo Apri nel cloud per specificare i dettagli del modello semantico.
    2. Nel menu File fare clic su Carica origini dati Java.
    3. Nella finestra di dialogo Connetti a server dell'origine dati Java, effettuare le operazioni riportate di seguito.
      • Nel campo Nome host immettere il nome del computer annotato nel Passo 1. Qualificare completamente il nome host. Ad esempio, se il nome trascritto nel Passo 1 era machine, si potrebbe specificare machine.us.example.com.
      • Nel campo Porta immettere il numero di porta annotato nel Passo 1. Ad esempio, 51811.
      • Nei campi Nome utente e Password, immettere dummy o una stringa qualsiasi (queste credenziali non vengono convalidate perché il contesto è una chiamata pubblica che consente di trovare le capacità annunciate da Data Gateway).
  5. Se si utilizza Model Administration Tool, impostare una connessione fisica al database.
    1. Nel layer fisico creare una connessione locale (non remota) all'origine dati utilizzando l'interfaccia di chiamata standard appropriata per l'origine dati e modellare i dati in base alle esigenze.
    2. Quando si è pronti per stabilire una connessione remota al modello semantico e pubblicarlo di nuovo nel cloud, modificare la connessione creata.
    3. Nella scheda Generale selezionare JDBC (driver diretto) nel campo Interfaccia chiamata quindi specificare la stringa e le credenziali JDBC nella connessione del modello semantico nel campo Stringa di connessione. Vedere Modelli ed esempi JDBC e JNDI per ottenere la lista delle stringhe e delle classi driver JDBC supportate.
    4. Nella scheda Varie, immettere true nel campo Usa SQL su HTTP e 2 nel campo Versione RDC, quindi specificare la classe driver JDBC.
    5. Pubblicare il modello semantico nel cloud.
Ora si è pronti per eseguire il test della distribuzione connettendosi in remoto a un database in locale.

Modelli ed esempi JDBC e JNDI

Quando si imposta la connettività remota per le analisi e i dashboard, potrebbe essere necessario specificare le stringhe e le classi driver JDBC nonché i dettagli di connessione e di contesto JNDI.

Pattern di stringa e classi driver 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\"]  
Modelli JNDI per driver nativi
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" />
Modelli JNDI per driver DD
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" 
/>
     

Aggiungere un driver JDBC a Data Gateway

Aggiungere un driver JDBC all'installazione di Data Gateway in modo da poter modellare i dati in un database in locale.

Prima di iniziare, assicurarsi che Data Gateway e Model Administration Tool siano installati sullo stesso computer Windows nell'ambiente in locale.
  1. Scaricare il driver JDBC che si desidera distribuire.
    Ad esempio, per modellare i dati in un database Snowflake, scaricare il driver JDBC Snowflake più recente (ad esempio nel file snowflake-jdbc-3.9.0.jar).
  2. Copiare il file JAR JDBC scaricato nella cartella di installazione di Data Gateway.
    • In una distribuzione server copiare il file JAR in <Data Gateway install_location>/domain/jettybase/thirdpartyDrivers.
    • In una distribuzione personale su Windows, copiare il file JAR in: <Data Gateway_extract_path>\thirdpartyDrivers.
    • In una distribuzione personale su iOS, copiare il file JAR in <Application->Show Package Contents>Resources->app.nw-> thirdpartyDrivers.
  3. Riavviare Data Gateway. Vedere Gestire Data Gateway.

Formati DSN per la specifica delle origini dati

In Oracle Analytics è possibile modellare i dati locali per molti tipi di database. Oracle Analytics supporta l'accesso diretto ad alcune origini dati in locale tramite il modello semantico. Quando si crea la connessione al database con Model Administration Tool, nel campo Nome origine dati della finestra di dialogo Connection pool (scheda Generale) è necessario utilizzare il formato DSN appropriato per il tipo di database al quale ci si connette.

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