Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal,
Criei uma view no banco de dados e quando vou puxar as informações no Sense mostra a seguinte mensagem:
Carga de arquivos iniciada
Connecting to DataPlus
Connected
ODBC read failed SQL Select * from dbo.vw_PrazoEntrVenda
Falha na carga de dados
Esta tudo correto, não é erro de escrita e a view existe exatamente com este nome.
Já tentei excluir e recriar odbc, tentei usar odbc32 e 64bits, já reinstalei o Sense enfim, não sei mais o que fazer.
A consulta proveniente da view em si, é bem complexa e demorada (em torno de 40seg para retornar dados). Será que pode ser isso?
Grato.
Pessoal, consegui solucionar o problema segmentando o load da seguinte forma:
LIB CONNECT TO 'DataPlus';
Load PrazoUltimaAlt, DataLiberacao, NotaFiscal, DataEmissaoNF;
SQL Select PrazoUltimaAlt, DataLiberacao, NotaFiscal, DataEmissaoNF From vw_PrazoEntrVenda;
Load PrazoLiberacao, PrazoPrevistoEntr, PrazoUltimaAlt,PrazoRealEntr;
SQL Select PrazoLiberacao, PrazoPrevistoEntr, PrazoUltimaAlt, PrazoRealEntr from vw_PrazoEntrVenda;
Load Ano, Mes, Pedido, Emissao, DataEntregaPrev, Cliente, TotalPedido, TeleVenda, Usuario;
SQL Select Ano, Mes, Pedido, Emissao, DataEntregaPrev, Cliente, TotalPedido, TeleVenda, Usuario from vw_PrazoEntrVenda;
CesarAccardi Obrigado por sua ajuda.
Ola Andre,
Voce consegue ler dados de outras tabelas/views no mesmo banco de dados?
Sim,
Tenho outras consultas que estão funcionando normalmente.
Experimenta substituir o * por alguns campos so e tenta recarregar pra ver se nao e um problema especifico com os campos.
Você está usando o SQL Server 2014?
Pois conforme o Cesar Accardi falou, parece que a Microsoft aboliu o uso do * por medidas performáticas.
Grato pela atenção.
Cesar,
Vamos aos testes:
O Load completo era assim:
Load
Ano, Mes, Pedido, Emissao, DataEntregaPrev, Cliente, TotalPedido, TeleVenda, Usuario,
PrazoUltimaAlt, DataLiberacao, NotaFiscal, DataEmissaoNF, PrazoLiberacao, PrazoPrevistoEntr, PrazoUltimaAlt,
PrazoRealEntr;
SQL Select * from dbo.vw_PrazoEntrVenda;
Ai fiz o seguintes testes:
Load só com:
Ano, Mes, Pedido, Emissao, DataEntregaPrev, Cliente, TotalPedido, TeleVenda, Usuario; PASSOU
Load só com:
PrazoUltimaAlt, DataLiberacao, NotaFiscal, DataEmissaoNF; PASSOU
Load só com:
PrazoLiberacao, PrazoPrevistoEntr, PrazoUltimaAlt, PrazoRealEntr; PASSOU
Ai tenteis assim:
Load
Ano, Mes, Pedido, Emissao, DataEntregaPrev, Cliente, TotalPedido, TeleVenda, Usuario;
Load
PrazoUltimaAlt, DataLiberacao, NotaFiscal, DataEmissaoNF;
Load
PrazoLiberacao, PrazoPrevistoEntr, PrazoUltimaAlt, PrazoRealEntr;
SQL Select * from dbo.vw_PrazoEntrVenda;
E Novamente deu o mesmo erro.
Pessoal, consegui solucionar o problema segmentando o load da seguinte forma:
LIB CONNECT TO 'DataPlus';
Load PrazoUltimaAlt, DataLiberacao, NotaFiscal, DataEmissaoNF;
SQL Select PrazoUltimaAlt, DataLiberacao, NotaFiscal, DataEmissaoNF From vw_PrazoEntrVenda;
Load PrazoLiberacao, PrazoPrevistoEntr, PrazoUltimaAlt,PrazoRealEntr;
SQL Select PrazoLiberacao, PrazoPrevistoEntr, PrazoUltimaAlt, PrazoRealEntr from vw_PrazoEntrVenda;
Load Ano, Mes, Pedido, Emissao, DataEntregaPrev, Cliente, TotalPedido, TeleVenda, Usuario;
SQL Select Ano, Mes, Pedido, Emissao, DataEntregaPrev, Cliente, TotalPedido, TeleVenda, Usuario from vw_PrazoEntrVenda;
CesarAccardi Obrigado por sua ajuda.
Andre,
Sem problemas, fico feliz que tenha conseguido achar a solucao. Eu ja tive problemas parecidos no passado com LOAD * mas nao sabia desta informacao paulodantas13.
Abracos
Pois é Cesar,
um amigo do trabalho estava instalando o Server 2014, e foi executar a view, e deu problema, sendo que essa mesma view executada no SQL 2005, 2008 não dava problema.
Acredito que a Microsoft tenha proibido usar SELECT * FROM nas views, para não causar problemas de performance.
Eis um site que vi algo sobre não usar * nas views.
Why do I have problems with views after altering the base table?
Interessante Paulo, nao sabia... Obrigado pelo link!