Configurer et enregistrer Data Gateway pour la production de rapports

Suivez les étapes facultatives ci-dessous pour activer la connectivité distante pour les fonctions classiques telles que les analyses et les tableaux de bord.

Si vous déployez uniquement la visualisation de données (par exemple, Oracle Analytics Cloud Professional Edition), vous n'avez pas besoin de suivre cette procédure.
Avant de commencer, suivez les étapes de configuration décrites dans Configurer Data Gateway pour la visualisation de données.
  1. Sur l'ordinateur où vous avez installé un agent Data Gateway, obtenez le nom de l'ordinateur et le numéro de port.
    Dans un déploiement sur serveur :
    1. Exécutez la commande /<Data Gateway install folder>/domain/bin/status.sh.
    2. Dans la sortie de la commande, notez le nom de l'ordinateur contenu dans l'URL affichée sous Data Gateway Status ainsi que la valeur de Data Gateway Jetty HTTP Port.
    Dans un déploiement personnel :
    1. Ouvrez le fichier : %localappdata%\Temp\DataGateway\ports.properties.
    2. Notez le nom de l'ordinateur et le numéro de port.
  2. Démarrez l'agent Data Gateway.
  3. Si vous voulez modéliser vos données avant de vous y connecter à distance, utilisez le modélisateur sémantique ou l'outil d'administration de modèle (si la base de données n'est pas prise en charge par le modélisateur sémantique) pour modifier votre modèle sémantique.
  4. Si vous utilisez l'outil d'administration de modèle, chargez les métadonnées de la source de données Java :
    1. Dans l'outil d'administration de modèle, dans le menu Fichier, cliquez sur Ouvrir, puis sur Dans le nuage et entrez les détails de votre modèle sémantique dans la boîte de dialogue qui s'ouvre.
    2. Dans le menu Fichier, cliquez sur Charger les sources de données Java.
    3. Dans la boîte de dialogue de connexion au serveur de source de données Java :
      • Dans le champ de nom d'hôte, entrez le nom d'ordinateur que vous avez pris en note à l'étape 1. Indiquez le nom complet de l'hôte. Par exemple, si vous avez noté machine à l'étape 1, indiquez ici machine.us.example.com.
      • Dans le champ de port, entrez le port que vous avez pris en note à l'étape 1. Par exemple, 51811.
      • Dans les champs de nom d'utilisateur et de mot de passe, entrez dummy ou une chaîne quelconque (ces données d'identification ne sont pas validées, car il s'agit d'un appel public pour détecter les capacités annoncées par Data Gateway).
  5. Si vous utilisez l'outil d'administration de modèle, définissez une connexion physique à la base de données :
    1. Dans la couche physique, créez une connexion locale (non distante) à la source de données à l'aide de l'interface d'appel standard appropriée et modélisez les données selon les besoins.
    2. Lorsque vous prêt à effectuer une connexion à distance à votre modèle sémantique et à le publier dans le nuage, modifiez la connexion que vous avez créée.
    3. Dans l'onglet Général, sélectionnez JDBC (pilote direct) dans le champ Interface d'appel et, dans le champ Chaîne de connexion, spécifiez la chaîne et les données d'identification JDBC dans la connexion au modèle sémantique. Voir Modèles et exemples JDBC et JNDI ci-dessous pour obtenir la liste des chaînes JDBC et des classes de pilote prises en charge.
    4. Dans l'onglet Divers, entrez la valeur Vrai dans le champ Utiliser SQL par HTTP et, dans le champ Version de RDC, entrez 2, puis indiquez la classe de pilote JDBC.
    5. Publiez le modèle sémantique dans le nuage.
Vous êtes maintenant prêt à tester votre déploiement en établissant une connexion à distance à une base de données sur place.

Modèles et exemples JDBC et JNDI

Lorsque vous configurez la connectivité distante pour les analyses et les tableaux de bord, il peut être nécessaire de spécifier les chaînes et classes de pilote JDBC, ainsi que les détails de connexion et de contexte JNDI.

Modèles de chaîne et classes de pilotes 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\"]  
Modèles JNDI pour pilotes natifs
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" />
Modèles JNDI pour pilotes 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" 
/>
     

Ajouter un pilote JDBC à Data Gateway

Ajoutez un pilote JDBC à votre installation de Data Gateway afin de pouvoir modéliser des données dans une base de données sur place.

Avant de commencer, assurez-vous que Data Gateway et l'outil d'administration de modèle sont installés sur le même ordinateur Windows dans votre environnement sur place.
  1. Téléchargez le pilote JDBC à déployer.
    Par exemple, pour modéliser des données dans une base de données Snowflake, téléchargez le dernier pilote JDBC Snowflake (par exemple, dans le fichier snowflake-jdbc-3.9.0.jar).
  2. Copiez le fichier JAR JDBC téléchargé dans le dossier d'installation de Data Gateway.
    • Dans un déploiement sur serveur, copiez le fichier JAR dans : <Data Gateway install_location>/domain/jettybase/thirdpartyDrivers.
    • Pour un déploiement sur ordinateur personnel sous Windows, copiez le fichier JAR dans : <Data Gateway_extract_path>\thirdpartyDrivers.
    • Pour un déploiement sur ordinateur personnel sous MacOS, copiez le fichier JAR dans : <Application->Show Package Contents>Resources->app.nw-> thirdpartyDrivers.
  3. Redémarrez Data Gateway. Voir Tenir Data Gateway à jour.

Formats DSN pour indiquer des sources de données

Dans Oracle Analytics, vous pouvez modéliser vos données sur place pour de nombreux types de base de données. Oracle Analytics prend en charge l'accès direct à certaines sources de données sur place au moyen du modèle sémantique. Lorsque vous créez la connexion à la base de données à l'aide de l'outil d'administration de modèle, dans le champ Nom de la source de données de la boîte de dialogue Réserve de connexions (onglet Général), vous utilisez le format DSN approprié pour le type de base de données auquel vous vous connectez.

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