Acessar o Oracle Database Usando o Oracle Call Interface
Se você usar aplicativos desenvolvidos com o Oracle Call Interface (OCI), poderá conectar as regras de carregamento do Essbase ao Oracle Database usando uma string de conexão do OCI ou um nome de serviço de rede definido em um arquivo de configuração tnsnames.ora no Essbase Server.
Propriedades da Regra com a String de Conexão do Oracle Call Interface
Para conectar uma regra de carregamento do Essbase ao Oracle Database usando uma string de conexão do OCI,
-
Na interface Web do Essbase, abra uma regra existente ou crie uma nova (consulte Acessar e Editar Regras, Criar Nova Regra de Criação de Dimensão ou Criar Nova Regra de Carregamento de Dados).
-
Clique em Propriedades da Origem.

-
Clique em Propriedades SQL.
-
Em Propriedades, selecione Oracle Call Interface (OCI).
-
No campo Servidor, informe a string de conexão do Oracle Database, no formato
<host>:<port>/<service_name>. -
No campo Consulta, informe uma consulta SQL que acesse os dados necessários do Oracle Database.
-
Nos campos Nome do Usuário e Senha, forneça as credenciais necessárias para acessar o esquema do Oracle Database. Essas informações são usadas para visualizar dados, mas não serão salvas na regra.

-
Clique em Visualizar para garantir que a regra possa se conectar e recuperar dados e, em seguida, salvar e fechar a regra.
Carregar Regra com o Oracle Call Interface Predefinido no Arquivo de Configuração
Para conectar uma regra de carregamento do Essbase ao Oracle Database usando um net_service_name definido em um arquivo de configuração no Essbase Server,
-
No Essbase Server, crie um arquivo de configuração (por exemplo, chamado
tnsnames.ora) no<Oracle Home>/network/admin.Se o arquivo de configuração já existir, certifique-se de que ele tenha uma entrada válida para estabelecer conexão com o Oracle Database usando o OCI (Oracle Call Interface). Caso contrário, configure-o agora. No exemplo a seguir,
OCISQL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oraclehost.example.com)(PORT = 1521)) ) (CONNECT_DATA = (service_name = orcl.example.com) (SERVER = DEDICATED) ) )- net_service_name é
OCISQL. Anote esse nome, que você precisará para os próximos passos. - O host é
oraclehost.example.com. - A porta é
1521. - O nome da rede é
orcl.example.com.
- net_service_name é
-
Na interface Web do Essbase, abra uma regra de criação de dimensão ou de carregamento de dados existente ou crie uma nova (consulte Acessar e Editar Regras, Criar Nova Regra de Criação de Dimensão ou Criar Nova Regra de Carregamento de Dados).
-
Clique em Propriedades da Origem.

-
Clique em Propriedades SQL.
-
Em Propriedades, selecione Oracle Call Interface (OCI).
-
No campo Servidor, informe o net_service_name usado no arquivo de configuração
tnsnames.ora. Com base no exemplo fornecido na etapa 1, digiteOCISQL. -
No campo Consulta, informe uma consulta SQL que acesse os dados necessários do Oracle Database.
-
Nos campos Nome do Usuário e Senha, forneça as credenciais necessárias para acessar o esquema do Oracle Database. Essas informações são usadas para visualizar dados, mas não serão salvas na regra.

-
Clique em Visualizar para garantir que a regra possa se conectar e recuperar dados e, em seguida, salvar e fechar a regra.
Solucionando Problemas de Conectividade
No Windows, a visualização de dados ou a execução de um build de dimensão ou carregamento de dados com uma regra que usa uma string de conexão do OCI (Oracle Call Interface) pode falhar com a seguinte mensagem de erro:
Attempt to connect to OCI failed. [ORA-12638: Credential retrieval failed].A causa desse problema é que o servidor Oracle Database versão 19c e o cliente 19c (nesse caso, o cliente é onde o Essbase Server está instalado) não têm definição ou têm a seguinte definição configurada em tnsnames.ora (ou sqlnet.ora): SQLNET.AUTHENTICATION_SERVICES=(NTS)
A solução é configurar SQLNET.AUTHENTICATION_SERVICES=(NONE) na máquina do Essbase Server.
-
No
<Oracle Home>/network/admin, localize o arquivo de configuração. -
Abra o arquivo e adicione
SQLNET.AUTHENTICATION_SERVICES=(NONE) -
Reinicie o aplicativo Essbase.
Observação:
Consulte as notas de uso na documentação SQLNET.AUTHENTICATION_SERVICES para o Oracle Database 19c.