- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Consulta SQL em relatório
×
Linguagem de Programação ADVPL
Perguntas Consulta SQL em relatório
- Morgado
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 42
- Obrigados Recebidos: 0
8 anos 9 meses atrás #30230
por Morgado
Consulta SQL em relatório foi criado por Morgado
Boa tarde!
Estou tentando executar um select via advpl que inclui uma função SQL para contar dias úteis.
A query de teste é essa:
Executando no banco de dados funciona normal, mas quando tento executar pelo programa dá este erro na query:
Alguém tem alguma dica que possa ajudar?
Estou tentando executar um select via advpl que inclui uma função SQL para contar dias úteis.
A query de teste é essa:
SELECT TOP(1) D2_TOTAL, dbo.DiasUteis('01/02/2016','29/02/2016') as DiasUteis FROM SD2010
Executando no banco de dados funciona normal, mas quando tento executar pelo programa dá este erro na query:
[Microsoft][ODBC SQL Server Driver][SQL Server] Não é possível localizar a coluna DBO ou a função ou agregação definida pelo usuário "DBO.DIASUTEIS", ou o nome é ambíguo.
Alguém tem alguma dica que possa ajudar?
Por favor Acessar ou Registrar para participar da conversa.
- fmmattos
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 28
- Obrigados Recebidos: 0
8 anos 9 meses atrás #30240
por fmmattos
Respondido por fmmattos no tópico Consulta SQL em relatório
Precisaria do trecho em Advpl dessa query pra responder corretamente, mas pela resposta do Sql Server, tenta tirar o "dbo." da query no seu fonte.
Por favor Acessar ou Registrar para participar da conversa.
- Morgado
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 42
- Obrigados Recebidos: 0
8 anos 9 meses atrás #30243
por Morgado
Respondido por Morgado no tópico Consulta SQL em relatório
Bom dia!
O trecho é este:
Já tentei retirar o dbo. da frente do nome da função. Quando faço isso o retorno é de que a função não é reconhecida pelo SQL.
Alguma sugestão?
O trecho é este:
oSection:BeginQuery()
BeginSQL alias "QRYTMP"
SELECT TOP(1) D2_TOTAL, dbo.DiasUteis('01/02/2016','29/02/2016') as DiasUteis FROM SD2010
EndSQL
oSection:EndQuery()
Já tentei retirar o dbo. da frente do nome da função. Quando faço isso o retorno é de que a função não é reconhecida pelo SQL.
Alguma sugestão?
Por favor Acessar ou Registrar para participar da conversa.
- jmfrolim
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 52
- Obrigados Recebidos: 1
- Morgado
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 42
- Obrigados Recebidos: 0
8 anos 9 meses atrás #30257
por Morgado
Respondido por Morgado no tópico Consulta SQL em relatório
Bom dia João!
O problema relatado sobre a utilização de função do SQL não consegui resolver.
Como não tinha mais prazo e tinha que entregar, acabei criando uma função em ADVPL para calcular os dias úteis entre datas. Utilizei o retorno dela para compor a query.
Deixo aqui, caso alguém tenha alguma necessidade parecida:
O problema relatado sobre a utilização de função do SQL não consegui resolver.
Como não tinha mais prazo e tinha que entregar, acabei criando uma função em ADVPL para calcular os dias úteis entre datas. Utilizei o retorno dela para compor a query.
Deixo aqui, caso alguém tenha alguma necessidade parecida:
USER FUNCTION Uteis(dDtIni,dDtFim)
Local dData:=dDtIni
Local nDias:=0
if VALTYPE(dData) <> "D"
dData := CtoD(dData)
EndIf
if VALTYPE(dDtFim) <> "D"
dDtFim := CtoD(dDtFim)
EndIf
Do While dData <= dDtFim
If Dow(dData) <> 7 ; nDias++
EndIf
dData++
EndDo
Return(nDias)
Por favor Acessar ou Registrar para participar da conversa.
- Morgado
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 42
- Obrigados Recebidos: 0
8 anos 9 meses atrás #30270
por Morgado
Respondido por Morgado no tópico Consulta SQL em relatório
Bom dia pessoal,
Para quem possa interessar:
A Totvs me respondeu o chamado informando que funções do SQL Server não são reconhecidas pelo TopConnect, então não funcionam mesmo.
Para quem possa interessar:
A Totvs me respondeu o chamado informando que funções do SQL Server não são reconhecidas pelo TopConnect, então não funcionam mesmo.
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Consulta SQL em relatório
Tempo para a criação da página:0.101 segundos