Feedback

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

Criando uma nova conexão

ou acesse o menu Banco de Dados > Nova conexão.

Criando uma 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.

Selecionando a conexão ao banco de dados

Conexão

Informe os parâmetros para conexão ao seu banco de dados Azure MSSQL Server da seguinte forma:

Conectando ao banco de dados

  • 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.

Testando a conexão ao banco de dados

Segurança

Aba segurança, onde é definida as configurações de criptografia da conexão.

Segurança na conexão do banco de dados

  • 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.

Filtrando a conexão do banco de dados

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.

  • 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


  • 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.

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

  • 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.

  • 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.

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.