Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola
Pessoal vamos estudar esta problemática; estou executando um comando sql no asp mas esta dando um erro.
Este erro e proviniente de uma conversão de data oque vocês acham?
sqlCarregar = ("select * from inf_solicitacoes t, inf_servicos_das_solicitacoes ss,"_
&" inf_transacoes tr, inf_mensagens_pos mp, inf_beneficiarios b, inf_pessoas_fisicas f,"_
&" inf_contratos_de_beneficiario cb, inf_pessoas_juridicas j, inf_servicos s"_
&" where t.sol_cod_beneficiario = b.ben_cod_beneficiario"_
&" and b.ben_pss_cod_pessoa = f.psf_pss_cod_pessoa"_
&" and b.ben_plc_cbn_cod_contrato = cb.cbn_cod_contrato"_
&" and cb.cbn_pss_cod_pessoa = j.psj_pss_cod_pessoa"_
&" and t.sol_tra_num_transacao = ss.sso_sol_tra_num_transacao"_
&" and t.sol_tra_num_transacao = tr.tra_num_transacao"_
&" and ss.sso_cod_motivo = mp.imp_codigo_mensagem (+)"_
&" and ss.sso_servico = s.ser_codigo_servico (+)"_
&" and tr.tra_data_hora_inicio_trans between to_date('"&pegadi&"','dd/mm/yyyy hh24:mi:ss')"_
&" and to_date('"&pegadf&"','dd/mm/yyyy hh24:mi:ss')"_
&" and t.sol_cod_prestador_requisitante IN (600064,900064)"_
&" and SS.SSO_COD_MOTIVO NOT IN ('00','48','28')")
ele retorna o seguinte na paguina
select * from inf_solicitacoes t, inf_servicos_das_solicitacoes ss, inf_transacoes tr, inf_mensagens_pos mp, inf_beneficiarios b, inf_pessoas_fisicas f, inf_contratos_de_beneficiario cb, inf_pessoas_juridicas j, inf_servicos s where t.sol_cod_beneficiario = b.ben_cod_beneficiario and b.ben_pss_cod_pessoa = f.psf_pss_cod_pessoa and b.ben_plc_cbn_cod_contrato = cb.cbn_cod_contrato and cb.cbn_pss_cod_pessoa = j.psj_pss_cod_pessoa and t.sol_tra_num_transacao = ss.sso_sol_tra_num_transacao and t.sol_tra_num_transacao = tr.tra_num_transacao and ss.sso_cod_motivo = mp.imp_codigo_mensagem (+) and ss.sso_servico = s.ser_codigo_servico (+) and tr.tra_data_hora_inicio_trans between to_date<font face="Arial Black"><font color="#ff0000">('28/8/2009','dd/mm/yyyy hh24:mi:ss'</font>)</font> and to_date('28/8/2009 23:59:59','dd/mm/yyyy hh24:mi:ss') and t.sol_cod_prestador_requisitante IN (600064,900064) and SS.SSO_COD_MOTIVO NOT IN ('00','48','28')
Mas ao executar retorna um erro
Microsoft OLE DB Provider for Oracle erro '80004005'
Não há suporte para o tipo de dados.
/glosas/autorizacoes/mostrarresumo.asp, line 48
como ja falei acho que o erro esta na parte de converter a data... Pois ao levar a sql ao banco funciona beleza...
Valeu, Obrigado a todos...
>
Você está enviando apenas a data para o banco, sem as horas, possivelmente é esse o erro.
Outro detalhe, essa função toDate é nátiva do Oracle, e não é da linguagem. Faça o teste passando horas na data e retorne para nós se funcionou.
Realmente estou usando oracle. Eu fiz uma mudanção no sql e funcionou.
sqlCarregar = (" select "_
&" t.sol_cod_prestador_requisitante as preta, "_
&" t.sol_tra_num_transacao as trans, "_
&" t.sol_data_hora_autorizacao as dataautori,"_
&" cb.cbn_cod_contrato as contra, "_
&" j.psj_razao_social as razao, "_
&" t.sol_cod_beneficiario as benefici, "_
&" f.psf_nome as nome, ss.sso_servico as servcos, "_
&" s.ser_descricao as descri,"_
&" ss.sso_cod_motivo as motivo, "_
&" mp.imp_mensagem_original as mensagorig "_
&" from "_
&" inf_solicitacoes t, "_
&" inf_servicos_das_solicitacoes ss, "_
&" inf_transacoes tr, "_
&" inf_mensagens_pos mp, "_
&" inf_beneficiarios b, "_
&" inf_pessoas_fisicas f, "_
&" inf_contratos_de_beneficiario cb, "_
&" inf_pessoas_juridicas j, "_
&" inf_servicos s "_
&" where "_
&" t.sol_cod_beneficiario = b.ben_cod_beneficiario "_
&" and b.ben_pss_cod_pessoa = f.psf_pss_cod_pessoa "_
&" and b.ben_plc_cbn_cod_contrato = cb.cbn_cod_contrato "_
&" and cb.cbn_pss_cod_pessoa = j.psj_pss_cod_pessoa "_
&" and t.sol_tra_num_transacao = ss.sso_sol_tra_num_transacao "_
&" and t.sol_tra_num_transacao = tr.tra_num_transacao "_
&" and ss.sso_cod_motivo = mp.imp_codigo_mensagem (+) "_
&" and ss.sso_servico = s.ser_codigo_servico (+) "_
&" and tr.tra_data_hora_inicio_trans >= to_date('"&data&"','dd/mm/yyyy') "_
&" and t.sol_cod_prestador_requisitante IN(600064,900064) "_
&" AND SS.SSO_COD_MOTIVO NOT IN ('00','48','28') ")
'Response.Write(sqlCarregar)
'Response.End()
Na verdade eu acho que era falta de organização do código.
Quanto trabalhamos com código muito extensos fica confuso o entendimento.
Dai onde devemos nos ater as regras de diagramação e normas de escrever o código...
Obrigado a todos os moderadores e usuários do Imasters que e hoje um dos maiores site
voltado para programação da net no Brasil...
Valeu obrigado pelo espaço
Você está enviando apenas a data para o banco, sem as horas, possivelmente é esse o erro.
Outro detalhe, essa função toDate é nátiva do Oracle, e não é da linguagem. Faça o teste passando horas na data e retorne para nós se funcionou.