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 nome da fonte de dados configurado no arquivo freetds.conf.
-
EX:
MSSQLServer
-
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.
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.