locked
Buscar dados de Function do SqlServer para Excel RRS feed

  • Pergunta

  •  

    Olá Pessoal,

     

    estou tentando buscar dados de um banco sqlserver via excel 2007. Estou usando o microsoft Query, e já fiz a conexão com o banco tudo certo. Já testei, carreguei dados de uma tabela do banco, tudo certo. Mas quando vou carregar dados de uma função, da table-valued functions, com passagem de parâmetros, não funciona. Dá dois erros:

    [Microsoft][SQL Native Client]Invalid Parameter Value

    [Microsoft][SQL Native Client]Invalid Descriptor Index

     

    O select é: select * from finished_lots(?).

     

    Se eu jogo um valor fixo(Ex.'08/08/2008') ao invés do Parâmetro(?), funciona, mas precisava jogar uma data como Parâmetro, mas não funciona.

     

    Desde já agradeço,

     

    Diego A.

    quinta-feira, 11 de setembro de 2008 19:31

Todas as Respostas

  • Você está passando o parâmetro como número ou como string?

     

    quinta-feira, 11 de setembro de 2008 20:24
  • Estou passando o parâmetro como string. Ele pega o parâmetro(que é uma data, ex:08/08/2008) de uma célula do excel.

     

    Att,

     

    Diego A.

     

     

    quinta-feira, 11 de setembro de 2008 20:33
  • Se vc buscar o valor direto de uma célula, ele poder ser interpretado como 39668 ao invés de 08/08/2008.

    Normalmente aplico a função CDate ou FormatDateTime sobre o valor da célula que contém a data. Se estiver por exemplo em A1, ficaria CDate(Range("A1")) ou FormatDateTime(Range("A1"))

    [ ]s

    quinta-feira, 11 de setembro de 2008 20:52
  •  

    O problema é que quando eu mando ele gerar o sql ele não aceita o parâmetro, mesmo como data. Eu acho que quando é chamada de função ele não aceita parâmetro.

     

    Mesmo assim obrigado Adilson.

     

    Diego A.

    sexta-feira, 12 de setembro de 2008 13:38
  • Observei que ao escrever o valor fixo, colocou-o entre apóstrofos. Tentou passar a data também desta forma?

    sexta-feira, 12 de setembro de 2008 17:34
  •  

    É que antes mesmo de eu escolher a célula que está o parâmetro, ele está dando erro. Quando aperto OK para escolher o parâmetro, dá aqueles dois erros. Por isso acho que para passagem de parâmetros para função não funciona, só jogando valor fixo.

     

    Diego A.

    sexta-feira, 12 de setembro de 2008 18:02
  • Eu já montei consultas em SQL para bancos de dados Access e mySQL usando parâmetros flexíveis e que funcionaram normalmente.

    A instrução se baseia sempre em uma string e quando ocorrem esse tipo de problemas é alguma falha na montagem desta cadeia de texto.

    Um erro anterior pode ser por problema de definição do tipo de variável que receberá a instrução.

    [ ]s

     

    sexta-feira, 12 de setembro de 2008 19:05