Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Adianti Framework vs SQL Server (Definitivo) Após algum tempo pesquisando consegui superar algumas dificuldades que tive em relação a comunicação com SQL Server no Adianti Framework, gostaria de compartilhar com todos e poder auxiliar aqueles que se depararem com as mesmas dificuldades. Caso: Tenho um sistema de automação industrial baseado no Elipse E3 Studio, o qual utiliza uma base de dados SQL Server 2008 Express. O Sistema El...
RK
Adianti Framework vs SQL Server (Definitivo)  
Após algum tempo pesquisando consegui superar algumas dificuldades que tive em relação a comunicação com SQL Server no Adianti Framework, gostaria de compartilhar com todos e poder auxiliar aqueles que se depararem com as mesmas dificuldades.

Caso: Tenho um sistema de automação industrial baseado no Elipse E3 Studio, o qual utiliza uma base de dados SQL Server 2008 Express.
O Sistema Elipse E3 não facilita o desenvolvimento de aplicações com formulários para interação com o banco, portando resolvi criar uma aplicação baseada no Adianti Template 4.0 e integrar ao sistema de automação como um módulo adicional.

Para isso montei uma máquina virtual com Windows 7 Professional (x86) e instalei o WampServer 3.0.4 que trás o Apache 2.4.18 e PHP 7.0.4.

Dificuldade 01) Comunicação entre o framework e o SQL Server no WebServe em ambiente Windows:

No sistema operacional Windows o framework utiliza a biblioteca "sqlsrv" a qual não é instalada como default pelo PHP-7. Tive então que instalar o "Sql Server Native Client" no link: <msdn.microsoft.com/en-us/sqlserver/ff658532.aspx>.
Após isso baixei as extensões do PHP para o SQL Server no link: <www.microsoft.com/en-us/download/details.aspx?id=20098> (arquivo SQLSRV30.EXE).
Descompactei o pacote e copiei as extensões php_pdo_sqlsrv_53_ts_vc9.dll e php_sqlsrv_53_ts_vc9.dll para a pasta "ext" do php, após isso registrei elas no "php.ini".

Isso garantiu a comunicação entre o framework e o banco SQL.

Dificuldade 02) Comunicação entre o framework e o SQL Server no WebServe em ambiente Linux:

Posteriormente tive de migrar a aplicação desenvolvida com o Template 4.0 para um WebServer hospedado em servidor Linux Ubuntu 16.04 (configurado conforme gabarito: <www.adianti.com.br/forum/pt/view_3030?preparando-um-cloud-server-gab), nesse ambiente o framework utiliza a biblioteca "dblib" (biblioteca do Sybase Sql Server). Com isso tive de instalar as extensões "Freetds Sybase".
Após a instalação a aplicação comunicou normalmente com o banco SQL Server, porém com problemas de "Charset".

Dificuldade 03) Problemas de Charset ao conectar no banco SQL Server utilizando a biblioteca "dblib":

Para resolver o problema eu editei o arquivo "lib/adianti/database/TConnection.php", mais precisamente na linha "125", da seguinte forma:

* Script antes da alteração:

  1. <?php
  2. {
  3.      $port $port $port '1433';
  4.      $conn = new PDO("dblib:host={$host}:{$port};dbname={$name}"$user$pass);
  5. }
  6. ?>


* Script depois da alteração:

  1. <?php
  2. {
  3.      $port $port $port '1433';
  4.      $conn = new PDO("dblib:version=7.0;charset=UTF-8;host={$host}:{$port};dbname={$name}"$user$pass);
  5. }
  6. ?>


Conclusão: adicionando "version=7.0;charset=UTF-8;" na string de conexão resolveu o problema de Charset.

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (1)


AC

Salve, amigo!
Ajudou pra caramba. Parabéns!