ES
Usar o Framework com sql server
Fechado
Olá pessoal!
Para conseguir trabalhar com sql server foi necessário alterar duas classes:
1º - TConnection: a extensão mssql já não funciona há muito tempo. A microsoft desenvolveu uma extensão para conexão com php e continua dando manutenção. Basta instalar e fazer o php reconhecê-la.
A mudança será feita na linha 73 e a string ficará da seguinte forma:
2º - TSqlSelect: linha 33 passa a ter a seguinte sintaxe:Caso alguém tenha enfrentado esse problema espero que essas informações ajude.Só lamento o Adianti Studio ainda não comportar o driver para sql server. Estou aguardando Pablo.
absEliezer
Para conseguir trabalhar com sql server foi necessário alterar duas classes:
1º - TConnection: a extensão mssql já não funciona há muito tempo. A microsoft desenvolveu uma extensão para conexão com php e continua dando manutenção. Basta instalar e fazer o php reconhecê-la.
A mudança será feita na linha 73 e a string ficará da seguinte forma:
- <?php $conn = new PDO("sqlsrv:Server={$host};Database={$name}", $user, $pass); ?>
2º - TSqlSelect: linha 33 passa a ter a seguinte sintaxe:
- <?php if (($driver == 'sqlsrv') or ($driver == 'dblib')) ?>
absEliezer
Olá Pablo,
Depois de conseguir conexão com o banco de dados fiz uma listagem para teste e eis que começaram os primeiros problemas.
A listagem foi preenchida perfeitamente mas apareceu a tela de mensagem com o seguinte erro:
Error SQLSTATE[42000]: [Microsoft][SQL Server Native Client 10.0][SQL Server]Nenhum nome de coluna especificado para a coluna 1 de 'TAB'.
Tentei várias coisas mas nada deu certo.
Abaixo coloco os códigos das classes model e control:
Model
Control
Se tiver alguma idéia agradeço.
abs
Eliezer</your>
Oi Eliezer,
Você poderia mandar registrar os LOGS, e depois executar os SQL diretamente no SQL Server para ver qual Instrução SQL foi montada com erro:
www.adianti.com.br/doc-framework-Persistence-Objects-RegisterLog
um abraço,
Pablo
Pablo,
veja o que o log registrou e sinceramente não estou entendendo a instrução.
2013-02-03 08:41:31 :: ** SELECIONANDO ESTOQUE
2013-02-03 08:41:31 :: SELECT * FROM ( SELECT TOP 10 * FROM ( SELECT TOP 10 * FROM ESTOQUE_PRODUTOS WHERE (PRODUTO like '%%') ORDER BY 1 ASC) AS TAB ORDER BY 1 DESC) AS TAB2 ORDER BY PRODUTO
2013-02-03 08:41:31 :: SELECT count(*) FROM ( SELECT TOP 0 count(*) FROM ( SELECT TOP 0 count(*) FROM ESTOQUE_PRODUTOS WHERE (PRODUTO like '%%') ORDER BY 1 ASC) AS TAB ORDER BY 1 DESC) AS TAB2
Se puder me ajudar agradeço
abs
Eliezer
Olá Pablo
É com enorme satisfação que informo a todos os interessados que consegui resolver os erros apresentados na paginação SQL Server e coloco a solução abaixo.
Pablo, se você puder testar, melhorar e homologar para a próxima versão ficarei imensamente grato. Segue:
Alteração da Classe TSqlSelect método getInstructionSqlServer() a partir da linha 117, o código ficará assim:
PS.: O SQL que trabalho é o 2008 e portanto não testei esse código nessa versão.
abs
Eliezer
Desculpe a falta de informação mas eu não testei o código no SQL 2012, só testei no 2008
att.
Eliezer
Só pra ficar registrado aqui. A próxima versão do framework virá com suporte nativo à Sql Server e Oracle.
abs,
Pablo
Gostei D+ dessa notícia!!!!
Muito obrigado!
abs,
Eliezer
Pablo, perdão por postar em um post tão antigo, mas vi a interação do Eliezer e me chamou a atenção.... Estou testando o Studio e ao tentar criar as tabelas básicas do Template 3 ocorreu um erro na criação da System_User, não sei se o SQL vai permitir esta criação, poderia por favor me orientar se preciso mudar algo para aceitar? Meu SQL é o 2014 e fica na KingHost.
Abraços
Valdir
Olá pessoal, o erro
42000 continua com o SQL Server no Studio 5.6 ?