Configuración y registro de Data Gateway para generación de informes

Realice estos pasos opcionales para activar la conectividad remota a funciones clásicas como análisis y paneles de control.

Si solo está desplegando la visualización de datos (por ejemplo, Oracle Analytics Cloud Professional Edition), no es necesario seguir estos pasos.
Antes de empezar, siga los pasos de configuración en Configuración de Data Gateway para la visualización de datos.
  1. En la máquina donde haya instalado un agente de Data Gateway, obtenga el nombre y el número de puerto de la máquina.
    En un despliegue de servidor:
    1. Ejecute el comando /<Data Gateway install folder>/domain/bin/status.sh.
    2. En la salida del comando, anote el nombre de la máquina incluido en la URL que se muestra bajo Estado de Data Gateway, y anote el valor de Puerto HTTP de Jetty de Data Gateway.
    En un despliegue personal:
    1. Abra el archivo: %localappdata%\Temp\DataGateway\ports.properties.
    2. Anote el nombre y el número de puerto de la máquina.
  2. Inicie el agente de Data Gateway.
  3. Si desea modelar los datos antes de empezar a conectarse a ellos de forma remota, utilice el modelador semántico o la herramienta de administración de modelos (si la base de datos no está soportada por el modelador semántico) para editar el modelo semántico.
  4. Si está utilizando la herramienta de administración de modelos, cargue los metadatos del origen de datos Java:
    1. En Herramienta de administración de modelos, en el menú Archivo, haga clic en Abrir y, a continuación, en En la nube y utilice el cuadro de diálogo Abrir en la nube para especificar los detalles de su modelo semántico.
    2. En el menú Archivo, haga clic en Cargar orígenes de datos de Java.
    3. En el cuadro de diálogo Conectar al servidor de origen de datos Java:
      • En el campo Nombre de host, introduzca el nombre de máquina que haya anotado en el paso 1. Cualifique totalmente el nombre de host. Por ejemplo, si ha anotado machine en el paso 1, podría especificar machine.us.example.com.
      • En el campo Puerto, introduzca el puerto que haya anotado en el paso 1. Por ejemplo, 51811.
      • En los campos Usuario y Contraseña, introduzca dummy o cualquier cadena (estas credenciales no son válidas porque es una llamada pública para detectar las funciones anunciadas por Data Gateway).
  5. Si está utilizando la herramienta de administración de modelos, configure una conexión a base de datos física:
    1. En la capa Física, cree una conexión local (no remota) al origen de datos mediante la interfaz de llamadas estándar adecuada para el origen de datos y modele los datos según sea necesario.
    2. Cuando esté listo para realizar una conexión remota con el modelo semántico y volverla a publicar en la nube, edite la conexión que haya creado.
    3. En el separador General, en el campo Interfaz de llamadas, seleccione JDBC (controlador directo) y en el campo Cadena de conexión, especifique la cadena y las credenciales de JDBC en la conexión del modelo semántico. Consulte Plantillas y ejemplos de JDBC y JNDI a continuación para obtener una lista de cadenas y clases de controlador JDBC soportados.
    4. En el separador Varios, en el campo Usar SQL en HTTP, introduzca true y en el campo Versión de RDC, introduzca 2 y especifique la clase de controlador JDBC.
    5. Publique el modelo semántico en la nube.
Ahora está listo para probar el despliegue mediante la conexión de forma remota a una base de datos local.

JDBC y plantillas de JNDI con ejemplos

Al configurar la conectividad remota para los análisis y los paneles de control, es posible que tenga que especificar las cadenas y las clases de controlador JDBC, así como los detalles de la conexión y del contexto de JNDI.

Patrones de cadena y clases de controlador 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\"]  
Plantillas de JNDI para controladores nativos
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" />
Plantillas de JNDI para controladores 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" 
/>
     

Adición de un controlador JDBC a Data Gateway

Agregue un controlador JDBC a la instalación de Data Gateway para que pueda modelar los datos en una base de datos de local.

Antes de empezar, asegúrese de que Data Gateway y la herramienta de administración de modelos están instalados en la misma computadora de Windows del entorno local.
  1. Descargue el controlador JDBC que desea desplegar.
    Por ejemplo, para modelar datos en una base de datos de Snowflake, descargue el controlador JDBC de Snowflake más reciente (por ejemplo, en el archivo snowflake-jdbc-3.9.0.jar).
  2. Copie el archivo JAR de JDBC descargado en la carpeta de instalación de Data Gateway.
    • En un despliegue de servidor, copie el archivo JAR en: <Data Gateway install_location>/domain/jettybase/thirdpartyDrivers.
    • En un despliegue personal en Windows, copie el archivo JAR en: <Data Gateway_extract_path>\thirdpartyDrivers.
    • En un despliegue personal en MacOS, copie el archivo JAR en: <Application->Show Package Contents>Resources->app.nw-> thirdpartyDrivers.
  3. Reinicie Data Gateway. Consulte Mantenimiento de Data Gateway.

Formatos DSN para la especificación de orígenes de datos

En Oracle Analytics puede modelar sus datos locales para diversos tipos de bases de datos. Oracle Analytics admite el acceso directo a algunos orígenes de datos locales a través del modelo semántico. Al crear la conexión de base de datos con la herramienta de administración de modelos, en el campo Nombre de origen de datos del cuadro de diálogo Pool de conexiones (separador General), utilice el formato DSN adecuado para el tipo de base de datos al que se va a conectar.

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