Conexão com Oracle ODBC
No Scriptcase, temos disponíveis os seguintes drivers para conexão com o Oracle: Oracle PDO, Oracle 8.0.5 ou Acima, Oracle ODBC e Oracle 8. Se você estiver utilizando um ambiente próprio, pré-configurado, as extensões do Oracle devem ser habilitadas manualmente no PHP.
Pré-requisitos
Antes de prosseguir nesta documentação, verifique a arquitetura do seu PHP. Para que os drivers sejam habilitados corretamente, os arquivos devem ser baixados de acordo com a arquitetura utilizada.
- No seu Scriptcase, existe o arquivo info.php, acesse-o pela URL:
http://127.0.0.1:8091/scriptcase/info.php, onde você irá encontrar a informação referente a arquitetura no [phpinfo()][url_phpinfo]{:target=’_blank’}.
NOTA: Se você estiver utilizando o instalador automático do Scriptcase, a arquitetura do PHP será a mesma do instalador que você baixou. Realize o download do Oracle instant client de acordo com a arquitetura do seu PHP.
![Arquitetura do PHP][arquitetura_php]
- Arquitetura i386/i686 = 32 bits
- Arquitetura x86_64 = 64 bits
Abaixo estão listados os arquivos necessários para que os drivers do Oracle sejam habilitados.
Arquivos necessários:
x86_64
- Oracle Instant Client 12.1.0.2(x86_64): [Clique Aqui][client_mac]{:target=’_blank’}
IMPORTANTE: O PHP 7.3 é compatível com o Oracle Instant Client 11.2 ou superior.
Para realizar o download do Oracle Instant Client inferior a versão 19.5.0.0, é necessário ter uma [Conta Oracle][link_conta]{:target=’_blank’}.
Outros Arquivos
- Oracle Instant Client 12.2.0 ou Superior: [Clique Aqui][client_lista]{:target=’_blank’}
Tabela de Compatibilidade
| Driver |
Versão do banco de dados Oracle |
| Oracle ODBC/td>
| 9i  |
10g  |
11g R1(11.1)  |
11g R2(11.2)  |
12c  |
18c  |
19c  |
</tr>
Instant Client |
Versão do banco de dados Oracle |
| 12.1.0.2 |
9i  |
10g  |
11g R1(11.1)  |
11g R2(11.2)  |
12c  |
18c  |
19c  |
</table>
## Configurando Oracle ODBC no MacOs {#id-02}
A instalação automática do Scriptcase já vem com os drivers do Oracle pré-configurados, faltando apenas o __instant_client__ ser configurado para realizar a conexão. Siga os passos descritos abaixo para habilitar os drivers de conexão.
__1 -__ No seu terminal Mac, logue como __root__ e crie a pasta com a numeração do instant client em `/usr/local/instantclient/12.1.0.2/`.
__EX:__
`mkdir -p /usr/local/instantclient/12.1.0.2/`
__2 -__ Extraia todo o conteúdo do __Instant Client__ baixado [anteriormente][anc_client] em seu sistema Mac e copie para a pasta criada no passo anterior:
__EX:__
* `unzip oci_client_macosx_12.zip`
* `cp -avr __MACOSX/ oci_client_macosx_12/ /usr/local/instantclient/12.1.0.2/`
__3 -__ Reinicie o serviço do apache do Scriptcase para que as mudanças surtam efeito. Use o comando abaixo para isso:
__EX:__
`sudo /Applications/Scriptcase/v9-php73/components/apache/bin/apachectl restart`
## Criando um Conexão no Scriptcase {#id-03}
Veja abaixo como criar uma conexão em seu projeto do Scriptcase, utilizando o Driver habilitado [anteriormente][anc_config] e o banco de dados Oracle.
__1 -__ Acesse um projeto do seu Scriptcase.
__2 -__ Clique no ícone __Nova Conexão__ para criar uma conexão
![Criando uma nova conexão][image_nova_conexao]
ou acesse o menu __Banco de Dados > Nova conexão__.
![Criando uma nova conexão][image_nova_conexao_menu]
Após isto, será exibida uma tela com todas as conexões de banco de dados.
__3 -__ Selecione a conexão __Oracle__.
![Selecionando a conexão ao banco de dados][todas_conexoes]
### Conexão
Informe os parâmetros para conexão ao seu banco de dados Oracle da seguinte forma:
![Conectando ao banco de dados][conexao_sc]
* __Nome da conexão__: Defina o nome de sua nova conexão. Por padrão, o Scriptcase adciona o prefixo __conn__ juntamente do nome do banco de dados.
* __Driver do SGDB__: Selecione o Driver Oracle para conexão. Neste exemplo, utilizamos o Driver __Oracle ODBC__.
* __Base de Dados__: Informe o Data Source Name criado no seu gerenciador de ODBC.
* __EX:__ `oracle`
* __Esquema__: Informe o Esquema de tabelas específicas criadas para uso do usuário informado.
* __Este item é opcional caso não tenha um esquema configurado em seu banco de dados.__
* __Usuário__: Informe o usuário para autenticar a conexão com o seu banco de dados Oracle.
* __Para conexões Oracle, o usuário precisa estar em maiúsculo, como no exemplo__.
* __Senha__: Informe a senha para concluir o processo de autenticação.
* __Testar conexão__: Clique neste botão para obter uma reposta da requisição do Scriptcase para saber se os parâmetros informados estão corretos.
![Testando a conexão ao banco de dados][teste_conn]
### Filtro
Acessando esta aba, você pode configurar quais itens do Banco de Dados serão exibidos na conexão, podendo depender ou não do proprietário.
![Filtrando a conexão do banco de dados][conexao_filtro]
#### Exibir
Permite que a conexão Oracle possa enxergar tabelas, views, tabelas do sistema e procedures dependendo dos itens selecionados pelo usuário. Por padrão, os itens __Tabelas__ e __Views__ já são selecionados pelo Scriptcase.
* __Tabelas:__ Selecionando esta opção, as tabelas da sua base de dados serão exibidas.
* __Por padrão, o Scriptcase habilita esta opção.__
* __Views:__ Selecionando esta opção, as views da sua base de dados serão exibidas.
* __Por padrão, o Scriptcase habilita esta opção.__
* __Tabelas do Sistema:__ Selecionando esta opção, as tabelas do sistema da sua base de dados serão exibidas.
* __Procedures:__ Selecionando esta opção, as procedures da sua base de dados serão exibidas.
#### Filtros
Permite definir quais tabelas e proprietários serão exibidos.
* __Tabelas:__ Você pode definir nesta opção quais tabelas serão exibidas. A configuração pode conter um `PREFIXO%` ou nome das tabelas para exibição.
* __Por padrão, o Scriptcase deixa esta opção vazia.__
* __EX:__
![Exemplo da utilização do prefixo][ex_prefixo]
* __Proprietário:__ Informe o usuário que enxerga as tabelas informadas para exibição.
* __O usuário deve estar em maiúsculo como no exemplo acima.__
* __Exibir:__ Escolha se as tabelas do proprietário informado serão exibidas.
> __NOTA:__ Ao utilizar a filtragem de tabelas, você elimina tabelas desnecessárias para o seu projeto e __melhora a performance__ da conexão do seu banco de dados Oracle.
### Avançado
Nesta aba, você tem acesso a configurações específicas para a conexão. As configurações realizadas nesta sessão impactam na exibição dos dados e performance das aplicações.
![Configuração avançada da conexão do banco de dados ][conexao_avancado]
* __client_encoding:__ Selecione a codificação utilizada no seu banco de dados. No exemplo acima, utilizamos o client_encoding __UTF-8__.
* __Por padrão, esta opção é deixada em branco pelo Scriptcase.__
* __Separador De Decimal:__ Selecione o tipo do separador dos registros decimais, entre vírgula e ponto.
* __Por padrão, é selecionado o ponto `.` como separador.__
* __Conexão Persistente:__ Defina se as conexões serão encerradas após a execução dos seus scripts nas aplicações do Scriptcase.
* __Por padrão, o Scriptcase desativa esta opção.__
* __Usar o esquema antes do nome da tabela:__ Defina se o esquema do banco de dados será exibido antes dos nomes das tabelas.
* __Por padrão, o Scriptcase ativa esta opção.__
* __EX:__
![Exemplo da utilização do esquema][ex_esquema]
[image_nova_conexao]: ../../../../../../assets/images/docs/database/conexoes/novaconexao.png
[image_nova_conexao_menu]: ../../../../../../assets/images/docs/database/conexoes/novaconexao_menu.png
[todas_conexoes]: ../../../../../../assets/images/docs/database/conexoes/08-oracle/todasconexoes.png
[conexao_sc]: ../../../../../../assets/images/docs/database/conexoes/08-oracle/conexao_oracle_odbc.png
[teste_conn]: ../../../../../../assets/images/docs/database/conexoes/teste_conn.png
[conexao_filtro]: ../../../../../../assets/images/docs/database/conexoes/08-oracle/filtro.png
[conexao_avancado]: ../../../../../../assets/images/docs/database/conexoes/08-oracle/avancado.png
[com_esquema]: ../../../../../../assets/images/docs/database/conexoes/08-oracle/com_esquema.png
[sem_esquema]: ../../../../../../assets/images/docs/database/conexoes/08-oracle/sem_esquema.png
[ex_esquema]: ../../../../../../assets/images/docs/database/conexoes/08-oracle/exemplo_esquema.png
[ex_prefixo]: ../../../../../../assets/images/docs/database/conexoes/08-oracle/exemplo_prefixo.png
[anc_config]: #id-02
[anc_oracle]:https://docs.oracle.com/en/database/oracle/oracle-database/20/jjdbc/data-sources-and-URLs.html#GUID-44572C63-10D2-478A-BB2E-ACF6674C59CC
---
{:.blockquote-alert}
> Dúvidas ou Problemas de Conexão?
> Contacte o nosso [suporte][link_suporte]{:target='_blank'} em caso de problemas de conexão ou dúvidas a respeito deste banco de dados.
[arquitetura_php]: ../../../../../../assets/images/docs/database/arquitetura_mac.png
[path_var]: ../../../../../../assets/images/docs/database/conexoes/08-oracle/path_var.png
[client_mac]: http://cdn1.netmake.com.br/download/Conexao/Oracle/Mac/oci_client_macosx_12.zip
[client_lista]: https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html
[url_phpinfo]: http://php.net/manual/pt_BR/function.phpinfo.php
[link_conta]: https://login.oracle.com/mysso/signon.jsp
[link_suporte]: https://www.scriptcase.com.br/suporte/
[anc_client]: #fileid