
web2solutions
Novice
Sep 18, 2010, 3:54 PM
Post #11 of 12
(1295 views)
|
|
Re: [web2solutions] ASP x PerlScript why not getting right value?
[In reply to]
|
Can't Post
|
|
Observe that when a use the connection outside of package it the recordset works fine, but, on the end of file, I'm calling login method of desktop (with a recordset encapsulated) and I got errors when I execute the file: http://localhost/extranet/perl/desktop2/source/desktopnew.asp Error: enviado 06199719680 enviado enviado enviado PerlScript Error erro '80004005' (in cleanup) Can't call method "CreateObject" on an undefined value /extranet/perl/desktop2/source/desktopnew.asp, linha 68 ---> desktopnew.asp
<%@ LANGUAGE = PerlScript%> <% use Win32::ASP; use DBI; use Date::Day; use Win32::OLE; use Date::Language; use Business::BR::CPF; use Digest::MD5 qw(md5_hex); use JSON; use Win32::OLE::Const; sub conectar() { $conexao = $Server->CreateObject("ADODB.Connection"); $conexao->Open("DRIVER={PostGreSQL UNICODE};SERVER=pgsql.web2.eti.br; DATABASE=romaimoveis;UID=romaimoveis;PWD=fuzzy24k; OPTION=3; set lc_monetary=pt_BR; set lc_numeric=pt_BR; set lc_time=pt_BR; SET datestyle TO POSTGRES, DMY;"); if($conexao->Errors->{Count} > 0) { print("erro na transação com o banco"); print($conexao->Errors(0)); } } sub desconectar() { $conexao->Close(); } conectar(); $RS = $conexao->Execute( "SELECT * FROM tbl_clientes WHERE ativo=1;" ); if (! $RS->{EOF}) { $i=0; while ( ! $RS->{EOF} ) { print $RS->Fields("celular")->{Value}." enviado"; print "<BR>"; $Response->Flush(); $i++; $RS->MoveNext(); }; } {package Desktop; sub esta_logado { } sub login { $usuario = $_[1]; $senha = $_[0]; $json = ""; if(not defined($usuario) or not length($usuario)) { $json = "{errors:[{id:'user', msg:'Campo obrigatório'}]}"; } elsif(not defined($usuario) or not length($usuario)) { $json = "{errors:[{id:'pass', msg:'Campo obrigatório'}]}"; }else { $conexao = $Server->CreateObject("ADODB.Connection"); $conexao->Open("DRIVER={PostGreSQL UNICODE};SERVER=pgsql.web2.eti.br; DATABASE=romaimoveis;UID=romaimoveis;PWD=fuzzy24k; OPTION=3; set lc_monetary=pt_BR; set lc_numeric=pt_BR; set lc_time=pt_BR; SET datestyle TO POSTGRES, DMY;"); $sql="select login from tbl_usuarios WHERE login='$usuario';"; $RS = $conexao->execute($sql); if ($RS->{EOF}) { $json = "{errors:[{id:'user', msg:'Usuario nao encontrado'}]}"; }else { $criptsenha = $senha; $sql="select login,senha from tbl_usuarios WHERE login='$usuario' AND senha='$criptsenha';"; $RS1 = $conexao->execute($sql); if ($RS1->{EOF}) { $json = "{errors:[{id:'pass', msg:'Senha incorreta'}]}"; }else { $sql="select login,senha from tbl_usuarios WHERE login='$usuario' AND senha='$criptsenha';"; $RS2 = $conexao->execute($sql); if ( ! $RS2->{EOF}) { $usuarioid = $RS2->Fields("id")->{Value}; $usuariotipo = $RS2->Fields("tipo")->{Value}; $usuariologin = $RS2->Fields("login")->{Value}; $usuarionome = $RS2->Fields("nome")->{Value}; $usuariosenha = $RS2->Fields("senha")->{Value}; $usuariopermissoes = $RS2->Fields("permissoes")->{Value}; ## Gera cookie de login $Response->{Cookies}{w2desktop_aplicativo}{user_logado} = true; $Response->{Cookies}{w2desktop_aplicativo}{user_nome} = $usuarionome; $Response->{Cookies}{w2desktop_aplicativo}{user_login} = $usuariologin; $Response->{Cookies}{w2desktop_aplicativo}{user_pass} = $usuariosenha; $Response->{Cookies}{w2desktop_aplicativo}{user_id} = $usuarioid; $Response->{Cookies}{w2desktop_aplicativo}{user_tipo} = $usuariotipo; $Response->{Cookies}{w2desktop_aplicativo}{logon_time} = ""; $Response->{Cookies}{w2desktop_aplicativo}{user_permissoes} = $usuariopermissoes; $Response->{Cookies}{w2desktop_aplicativo}{NOMEAPLICACAO} = $software." ".$modelo." ".$versao; ## retorna json para a RIA $json = "{success:true, key:'', username:'$usuariologin', name:'$usuarionome', type:'$usuariotipo'}\n"; }else { $json = "{errors:[{id:'user', msg:'Falha ao efetuar login'}]}"; } $RS2->Close(); } $RS1->Close(); } $RS->Close(); } return $json; } sub logout { } } print Desktop->login('eduardo', 'demo'); %> could anybody help me?
(This post was edited by web2solutions on Sep 18, 2010, 3:56 PM)
|