Conexão com NATIVE SRV
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 |
No seu terminal linux, você precisará executar os comandos a seguir para que os drivers sejam instalados.
Ubuntu\Debian
sudo pecl install sqlsrv
sudo su
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.1/mods-available/sqlsrv.ini
exit
sudo phpenmod -v 8.1 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
sudo pecl install sqlsrv
sudo su
echo extension=sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/20-sqlsrv.ini
exit
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
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 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 DB2 para conexão. Neste exemplo, utilizamos o Driver MSSQL Server NATIVE SRV.
- 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
ou192.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.
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.
- 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.