# Adicionar TNS Service Name na ConnectionString do ORACLE

**URL:** <https://community.latromi.com.br/t/adicionar-tns-service-name-na-connectionstring-do-oracle/89>\
**Category:** Changelog\
**Tags:** novo, oracle, crystal-reports, wsapp\
**Created:** [Janeiro 8, 2020, 9:35pm UTC](https://community.latromi.com.br/t/adicionar-tns-service-name-na-connectionstring-do-oracle/89 "2020-01-08T21:35:55Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![daniel.giacomelli](https://community.latromi.com.br/user_avatar/community.latromi.com.br/daniel.giacomelli/32/1476_2.png) [@daniel.giacomelli](https://community.latromi.com.br/u/daniel.giacomelli)\
**Post date:** [Janeiro 8, 2020, 9:35pm UTC](https://community.latromi.com.br/t/adicionar-tns-service-name-na-connectionstring-do-oracle/89/1 "2020-01-08T21:35:55Z")

</div>

## Problema

Na geração dos relatórios do Crystal Reports usando banco de dados **ORACLE** , ocorre o erro:

> System.Runtime.InteropServices.COMException (0x800002F4): Falha ao abrir a conexão.  
> Detalhes: [Código do Fornecedor de Banco de Dados: 12154]  
> Falha ao abrir a conexão.  
> eixhgvk4.n0o 8020\_2740\_{760D3DEA-9F38-4D47-820A-35717E4937BE}.rpt  
> Detalhes: [Código do Fornecedor de Banco de Dados: 12154]  
> at CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.Export(ExportOptions pExportOptions, RequestContext pRequestContext)  
> at CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext)

## Causa

A ConnectionString passada para a Engine do Crystal Reports está no seguinte formato:

> ConnectionString: Driver={NOME\_DO\_DRIVER};DBQ=SERVIDOR;Port=PORTA;Uid=USUARIO;Pwd=SENHA;

O parâmetro **DBQ** não deve ser o endereço do servidor, mas sim o **TNS Service Name** das configurações do ORACLE no servidor.

Por exemplo, se a configuração do arquivo TNSNAMES.ora fosse essa:

```nohighlight
tns_service_name = 
   (DESCRIPTION=    
       (ADDRESS_LIST=      
           (ADDRESS=(PROTOCOL=TCP)(HOST=tiger)(PORT=1521))
        )    
       (CONNECT_DATA=      
         (SERVICE_NAME = service_name))) 
        )  
    )

```

Deveria ser passado `tns_service_name` no parâmetro **DBQ**.

## Correção

### Latromi Client

Criar um novo campo no cadastro de conexões do Latromi para informar o TNS Service Name. Este campo deve ser exibidos apenas para conexões do ORACLE.

### Serviço WSApp

O TNS Service Name informado no cadastro da conexão será passado no parâmetro **DBQ** da ConnectionString do ODBC.

---

<div class="post-metadata">

**Author:** ![daniel.giacomelli](https://community.latromi.com.br/user_avatar/community.latromi.com.br/daniel.giacomelli/32/1476_2.png) [@daniel.giacomelli](https://community.latromi.com.br/u/daniel.giacomelli)\
**Post date:** [Setembro 21, 2020, 8:13pm UTC](https://community.latromi.com.br/t/adicionar-tns-service-name-na-connectionstring-do-oracle/89/2 "2020-09-21T20:13:38Z")

</div>

Este problema foi resolvido após a implementação do [novo cadastro de conexões](https://community.latromi.com.br/t/novo-cadastro-de-conexoes/463), onde existe uma sessão de configurações específica para conexões do Crystal Reports.

![image](https://community.latromi.com.br/uploads/default/original/1X/eb34e3955118832d14bd235b84887cdc8f6eb4fd.png)

Para colocar a solução em prática, é necessário atualizar os programas para as versões:

| Programa | Versão |
| --- | --- |
| Latromi Client | v3.5.275 (ou superior) |
| Latromi Web | v3.5.271 (ou superior) |
| WSApp | v2.4.13 (ou superior) |

---

<div class="post-metadata">

**Author:** ![daniel.giacomelli](https://community.latromi.com.br/user_avatar/community.latromi.com.br/daniel.giacomelli/32/1476_2.png) [@daniel.giacomelli](https://community.latromi.com.br/u/daniel.giacomelli)\
**Post date:** [Setembro 21, 2020, 8:14pm UTC](https://community.latromi.com.br/t/adicionar-tns-service-name-na-connectionstring-do-oracle/89/3 "2020-09-21T20:14:00Z")

</div>



---

<div class="post-metadata">

**Author:** ![daniel.giacomelli](https://community.latromi.com.br/user_avatar/community.latromi.com.br/daniel.giacomelli/32/1476_2.png) [@daniel.giacomelli](https://community.latromi.com.br/u/daniel.giacomelli)\
**Post date:** [Março 23, 2021, 4:11pm UTC](https://community.latromi.com.br/t/adicionar-tns-service-name-na-connectionstring-do-oracle/89/4 "2021-03-23T16:11:43Z")

</div>



---

<div class="post-metadata">

**Author:** ![daniel.giacomelli](https://community.latromi.com.br/user_avatar/community.latromi.com.br/daniel.giacomelli/32/1476_2.png) [@daniel.giacomelli](https://community.latromi.com.br/u/daniel.giacomelli)\
**Post date:** [Agosto 10, 2022, 3:34pm UTC](https://community.latromi.com.br/t/adicionar-tns-service-name-na-connectionstring-do-oracle/89/5 "2022-08-10T15:34:46Z")

</div>


