Conexão com PDO DBLIB
No Scriptcase instalado em Linux, temos disponível o seguinte driver para conexão com MSSQL Server: PDO DBLIB. Se você estiver utilizando um ambiente próprio, pré-configurado, as extensões do MSSQL Server devem ser habilitadas manualmente no PHP.
NOTA: Se for necessário a utilização de Identificadores de banco de dados em suas tabelas, recomendamos a utilização das aspas duplas ( “ ) ao invés dos colchetes ( [ ] ) devido ao conflito com a sintaxe das variáveis globais do Scriptcase. Utilizar os colchetes como Identificadores de banco de dados, poderá acarretar em problemas no funcionamento das aplicações do Scriptcase.
Configurando e habilitando o PDO DBLIB no Linux
IMPORTANTE: Se você estiver utilizando o instalador automático do Scriptcase, as extensões já estão habilitadas no PHP, prontas para conexão. O procedimento abaixo é apenas para instalações manuais do Scriptcase.
1 - No seu terminal linux, você precisará apenas executar uma linha para realizar a instalação da extensão PDO DBLIB. Veja abaixo como proceder.
sudo apt-get install php8.1-pdo-dblib
- Caso você não consiga executar o comando acima por não encontrar pacotes, instale o repositório abaixo e atualize.
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
Acesse o shell (terminal) com root e instale os pacotes abaixo:
Ubuntu\Debian | RHEL\CentOS |
---|---|
sudo apt-get install unixodbc unixodbc-dev gcc nano wget make |
sudo yum install unixODBC unixODBC-devel gcc nano wget make |
Baixe FreeTDS:
wget https://www.freetds.org/files/stable/freetds-0.95.95.tar.gz
Descompacte o FreeTDS:
tar -zxf freetds-0.95.95.tar.gz
Entre na pasta FreeTDS:
cd freetds-0.95.95
Acesse o diretório do FreeTDS e execute o seguinte comando para compilar e instalar o FreeTDS:
sudo ./configure --with-tdsver=7.4 --with-unixodbc=/usr --disable-libiconv --disable-static --disable-threadsafe --enable-msdblib --disable-sspi --with-gnu-ld --enable-sybase-compat && make && make install
Edite o arquivo de configuração do FreeTDS:
Ubuntu\Debian | RHEL\CentOS |
---|---|
sudo nano /usr/local/etc/freetds.conf |
sudo vim /usr/local/freetds/freetds.conf |
E adicione o ip do seu servidor SQL, por exemplo:
[MSSQLServer] host = 192.18.72.03
port = 1433
versão do tds = 7.2
2 - Reinicie o serviço do Apache através do terminal.
sudo service apache2 restart
Conexão com o Scriptcase
Veja abaixo como criar uma conexão em seu projeto do Scriptcase, utilizando o Driver habilitado (DBLIB) e o banco de dados MSSQL Server.
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 MSSQL Server.
Conexão
Informe os parâmetros para conexão ao seu banco de dados Azure MSSQL Server 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 MSSQL Server para conexão. Neste exemplo, utilizamos o Driver PDO DBLIB.
- Servidor do SGDB: Informe o domínio do servidor Azure onde o banco de dados está instalado.
-
EX:
domain-sql.database.windows.net
-
Porta: Informe a porta para conexão com o MSSQL Server. Por padrão, a porta definida é 1433.
- Base de Dados: Liste e selecione o banco de dados que você irá se conectar.
-
EX:
samples
-
Usuário: Informe o usuário para autenticar a conexão com o seu banco de dados.
-
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.
Segurança
Aba segurança, onde é definida as configurações de criptografia da conexão.
Encrypt
Essa propriedade especifica se a comunicação com o servidor SQL deve ser criptografada. Para habilitar a criptografia, você deve definir essa propriedade como “true”. Isso garante que os dados enviados entre o cliente e o servidor sejam protegidos por criptografia.
trustservercertificate
Defina como “true” para especificar que o driver não valida o certificado TLS/SSL do servidor.
Se for “true”, o certificado TLS/SSL do servidor será automaticamente confiável quando a camada de comunicação for criptografada usando TLS.
trustStore
O caminho (incluindo o nome do arquivo) para o arquivo trustStore do certificado. O arquivo trustStore contém a lista de certificados nos quais o cliente confia.
Quando essa propriedade não é especificada ou é definida como nula, o driver depende das regras de consulta da fábrica do gerenciador confiável para determinar qual armazenamento de certificados usar.
trustStorePassword
A senha usada para verificar a integridade dos dados do trustStore.
Se a propriedade trustStore estiver configurada, mas a propriedade trustStorePassword não estiver configurada, a integridade do trustStore não será verificada.
hostnameInCertificate
O nome do host a ser usado para validar o certificado TLS/SSL do SQL Server.
Esta propriedade permite especificar o nome do host esperado no certificado do servidor SQL. Isso é útil para garantir que a conexão seja feita apenas com o servidor correto e não com um servidor mal-intencionado que possa estar usando um certificado inválido.
Nota: Esta propriedade é usada em combinação com as propriedades encrypt / autenticação e a propriedade trustServerCertificate . Esta propriedade afeta a validação do certificado, se a conexão usar criptografia TLS e o trustServerCertificate estiver definido como “false”. Certifique-se de que o valor foi passado para hostNameInCertificatecorresponde ao Nome Comum (CN) ou ao nome DNS no Nome Alternativo do Assunto (SAN) no certificado do servidor para que uma conexão TLS seja bem-sucedida. Para obter mais informações sobre o suporte à criptografia, consulte Noções básicas sobre suporte à criptografia.
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 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.
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 utf8.
- Por padrão, é setado o charset utf8.
- Por padrão, é setado o charset utf8.
- 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.
SSH
Aqui estão as opções de SSH disponíveis na imagem e suas descrições relacionadas à conexão com o banco de dados:
Usar SSH
Habilita ou desabilita o túnel SSH para a conexão com o banco de dados. Quando ativado, a conexão com o banco de dados será roteada através do servidor SSH.
Servidor SSH
O endereço IP ou nome do host do servidor SSH que será utilizado para o tunelamento. Esta é a máquina que atuará como uma ponte para acessar o banco de dados com segurança.
Porta SSH
A porta utilizada para se conectar ao servidor SSH. A porta padrão do SSH é 22, a menos que tenha sido configurada de outra forma no servidor.
Usuário SSH
O nome de usuário utilizado para autenticação no servidor SSH. Esse usuário deve ter permissões para estabelecer uma conexão SSH.
Arquivo de certificado privado
O arquivo de chave privada utilizado para autenticação, caso o servidor SSH exija autenticação baseada em chave em vez de senha.
Porta local para porwarding
A porta local na máquina cliente que será utilizada para encaminhar o tráfego do banco de dados através do túnel SSH. Essa porta atua como uma ponte entre o cliente do banco de dados e o banco de dados remoto.
Servidor de banco a partir do SSH
O nome do host ou endereço IP do servidor de banco de dados conforme visto a partir do servidor SSH. Isso é necessário quando o banco de dados só é acessível dentro da rede do servidor SSH.
Porta do banco a partir do SSH
A porta do servidor de banco de dados que será acessada através do túnel SSH. Essa porta deve corresponder à porta de escuta do serviço de banco de dados.
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.