Feedback

Conexão com NATIVE SRV PDO

No Scriptcase instalado em Linux, temos disponível o seguinte driver para conexão com MSSQL Server: PDO DBLIB, NATIVE SRV PDO e NATIVE SRV. 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.

Tutorial de instalação de Drivers da Microsoft para PHP e SQL Server

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 - Acesse o shell (terminal) com root e instale os pacotes abaixo:

Ubuntu\Debian RHEL\CentOS
sudo apt-get install unixodbc-dev sudo yum install unixODBC-devel

Ubuntu\Debian

No seu terminal linux, você precisará executar os comandos a seguir para que os drivers sejam instalados.

sudo pecl install pdo_sqlsrv
sudo su 
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/8.1/mods-available/pdo_sqlsrv.ini
exit 
sudo phpenmod -v 8.1 pdo_sqlsrv
  • Caso você não consiga executar o comando pecl ou algum outro comando acima por falta de pacotes, execute os comandos abaixo para adicionar o repositório, atualizar e logo após instalar o php.
sudo su
add-apt-repository ppa:ondrej/php -y
sudo apt-get update
apt-get install php8.1 php8.1-dev php8.1-xml -y --allow-unauthenticated

Importante: No Ubuntu, ao final da instalação do php através do comando apt-get install php8.1 php8.1-dev php8.1-xml -y –allow-unauthenticated Poderá ser mostrada uma tela informando sobre modificações no seu PHP. Escolha a opção “Manter a versão local atualmente instalada” pressione “Enter” e volte a executar os comandos de instalação do drive pdo_sqlsrv.

RHEL\CentOS

No seu terminal linux, você precisará executar os comandos a seguir para que os drivers sejam instalados.

sudo pecl install pdo_sqlsrv
sudo su
echo extension=pdo_sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/30-pdo_sqlsrv.ini
exit
  • Caso você não consiga executar o comando pecl ou algum outro comando acima por falta de pacotes, execute os comandos abaixo para adicionar o repositório, atualizar e logo após instalar o php.
sudo su
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf install yum-utils
dnf module reset php
dnf module install php:remi-8.1
subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
dnf update
dnf install php-pdo php-pear php-devel

2 - Reinicie o serviço do Apache através do terminal.

sudo service apache2 restart

Importante: Continue para a instalação do Microsoft ODBC Driver para que o processo de habilitação dos drivers possa ser completado.

Instalar o Microsoft ODBC Driver para SQL Server (Linux)

1 - No terminal execute os comandos abaixo na ordem que está definida:

Ubuntu


if ! [[ "16.04 18.04 20.04 22.04" == *"$(lsb_release -rs)"* ]];
then
    echo "Ubuntu $(lsb_release -rs) is not currently supported.";
    exit;
fi
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17

Debian

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
#Baixe o pacote apropriado para a sua versão do Sistema Operacional
#Escolha apenas o que corresponde a versão do seu SO

#Debian 9
curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Debian 10
curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Debian 11
curl https://packages.microsoft.com/config/debian/11/prod.list > /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17

RHEL\CentOS

sudo su
#Baixe o pacote apropriado para a sua versão do Sistema Operacional
#Escolha apenas o que corresponde a versão do seu SO

#RHEL 7 and Oracle Linux 7
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo

#RHEL 8 and Oracle Linux 8
curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/mssql-release.repo

#RHEL 9
curl https://packages.microsoft.com/config/rhel/9.0/prod.repo > /etc/yum.repos.d/mssql-release.repo
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install -y msodbcsql17

2 - Reinicie o serviço do Apache através do terminal.

sudo service apache2 restart

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 Microsoft SQL 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 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 DB2 para conexão. Neste exemplo, utilizamos o Driver MSSQL Server NATIVE SRV PDO.

  • Servidor do SGDB: Informe o IP ou domínio do servidor onde o banco de dados está instalado e a sua instância separados por uma barra invertida.
  • EX: dominiodoserver.com\SQLEXPRESS ou 192.168.254.170\SQLEXPRESS

  • 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

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