Conheça as melhorias da versão 8.0, 8.1, 8.2!
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.

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (1)


AC

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