Conexão com Oracle PDO
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.
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:8092/scriptcase/info.php
, onde você irá encontrar a informação referente a arquitetura no phpinfo().
ATENÇÃO: Realize o download do Oracle instant client de acordo com a arquitetura do seu 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:
- Extensão oci8.so: Clique Aqui
Ubuntu x64
- Oracle Instant Client - Basic Package 12.1.0.2(x86_64): Clique Aqui
- Oracle Instant Client - Devel Package 12.1.0.2(x86_64): Clique Aqui
Red-Hat/Centos/OpenSuse
x86_64
- Oracle Instant Client - Basic Package 12.1.0.2(x86_64): Clique Aqui
- Oracle Instant Client - Devel Package 12.1.0.2(x86_64): Clique Aqui
i386/i686
- Oracle Instant Client - Basic Package 12.1.0.2(i386/i686): Clique Aqui
- Oracle Instant Client - Devel Package 12.1.0.2(i386/i686): Clique Aqui
IMPORTANTE: O PHP 8.1 é 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.
Outros Arquivos
- Oracle Instant Client 12.2.0 ou Superior: Clique Aqui
Tabela de Compatibilidade do Driver Oracle PDO
Drive | Versão do banco de dados Oracle | ||||||
---|---|---|---|---|---|---|---|
Oracle PDO | 9i | 10g | 11g R1 | 11g R2(11.2) | 12c | 18c | 19c |
Instant Client | Versão de base de dados Oracle | ||||||
19.6.0.0 | 9i | 10g | 11g R1 | 11g R2(11.2) | 12c | 18c | 19c |
Configurando Oracle PDO no Linux
É necessário habilitar a extensão do Oracle no PHP e configurar o instant_client para realizar a conexão. Siga os passos descritos abaixo para habilitar os drivers de conexão.
1 - Instale os pacotes abaixo:
UBUNTU\DEBIAN | CENTOS\RHEL |
---|---|
sudo apt-get update |
sudo yum update |
sudo apt-get install libaio1 |
sudo yum install libaio-devel |
sudo apt-get install libncurses5 |
sudo yum install libaio |
sudo apt-get install alien |
sudo yum install glibc |
sudo apt-get install gcc-multilib g++-multilib |
sudo yum install compat-libstdc++-33 |
sudo apt-get install libpam0g |
sudo yum install glibc-devel |
sudo apt-get install unixodbc-dev unixodbc |
sudo yum install libstdc++ |
sudo yum install libstdc++ |
|
sudo yum install pam |
|
sudo yum install ncurses-devel |
|
sudo yum install unixODBC |
2 - Converta e instale os pacotes do Instant Client Basic baixados anteriormente em seu sistema Linux:
UBUNTU\DEBIAN | CENTOS\RHEL |
---|---|
sudo alien oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm |
sudo yum install oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm |
sudo alien oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm |
sudo yum install oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm |
sudo dpkg -i oracle-instantclient12.1-basic_12.1.0.2.0-2_amd64.deb |
|
sudo dpkg -i oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb |
3 - Copie a extensão oci8.so baixada anteriormente para o diretório de extensões do PHP:
EX: sudo cp oci8.so /usr/lib/php/20180731
Acesse o arquivo info.php e procure pela linha extension_dir. Ela informará o caminho exato para o diretório responsável pelas extensões do PHP.
4 - Edite o arquivo do php.ini e declare no final do arquivo a extensão do Oracle.
UBUNTU\DEBIAN | CENTOS\RHEL |
---|---|
/etc/php/8.1/apache2/php.ini |
/etc/php.ini |
EX: extension=oci8.so
5 - Edite o arquivo das variáveis de ambiente e declare a variável responsável por identificar a biblioteca do Oracle:
Informe a váriavel LD_LIBRARY_PATH e o caminho para a biblioteca no arquivo responsável pelas variáveis de ambiente do seu sistema. Verifique abaixo o caminho de acordo com o seu sistema operacional:
ATENÇÃO: O caminho para a biblioteca pode depender de como você realizou a sua instalação, por padrão o caminho é este:
/usr/lib/oracle/12.1/client64/lib/
.
UBUNTU\DEBIAN | CENTOS\RHEL |
---|---|
sudo nano /etc/apache2/envvars |
sudo nano /etc/sysconfig/httpd |
- Adicione esta variável no final do arquivo com a sintaxe:
export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib/
EX:
NOTA: Se você estiver utilizando CentOS/RHEL, não será necessário utilizar o ‘export’ antes da variável.
6 - Reinicie o serviço do apache do Scriptcase para que as mudanças surtam efeito. Utilize os comandos abaixo de acordo com o seu sistema operacional.
UBUNTU\DEBIAN | CENTOS\RHEL |
---|---|
sudo service apache2 restart |
sudo systemctl restart httpd |
Criando um Conexão no Scriptcase
Veja abaixo como criar uma conexão em seu projeto do Scriptcase, utilizando o Driver habilitado anteriormente 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
ou acesse o menu Banco de Dados > Nova conexão.
Após isto, será exibida uma tela com todas as conexões de banco de dados.
3 - Selecione a conexão Oracle.
Conexão
Informe os parâmetros para conexão ao seu banco de dados Oracle da seguinte forma:
-
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 PDO.
- Base de Dados: Informe o IP ou domínio do servidor onde o banco de dados está instalado juntamente do Service Name.
- EX:
dominiodoserver.com/XE
ou192.168.254.170/XE
- Para mais informações sobre o Service Name do Oracle, clique aqui.
- EX:
- 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.
- 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.
- 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.
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.
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.
- 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.
- 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:
- 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.
- 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.
- 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.
- 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.
- Por padrão, é selecionado o ponto
- 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.
- 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:
-
Dúvidas ou Problemas de Conexão? Contacte o nosso suporte em caso de problemas de conexão ou dúvidas a respeito deste banco de dados.