[firebase-br] ASP + FIREBIRD + STOREDPROCEDURES

Alessandro Francisco alessandro_francisco em msn.com
Qua Dez 13 10:56:37 -03 2006


Eu estou com um problem grave, eu fiz um site todo base ado em ASP 3, + Firebird + StoredProcedures, esse site funciona certinho no meu micro, mas no server as SP não retornan nenhum dado, alguem tem alguma ideia do que está acontecendo?
Espero que alguem possa me ajudar...
Segue meu codigo ASP e o Codigo da SP em questao:
Arquivo sConn.asp:
<%Dim sConnection sConnection="DRIVER=Firebird/InterBase(r) driver; UID=pccartuchos; PWD=upqca8; DBNAME=firebird.hospedagemdesite.com:/opt/firebird/data/pccartuchos.gdb;"%>
Arquivo Login.asp:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1250"%><%option explicit%><%Session.LCID = 1046%><%Response.buffer=true%><!--#include file="sConn.asp"--><% 'Variáveis de uso comum Dim rsLogin, sLogin, sSenha, isPost, Erro, lixo, objConn, i 'Inicializa Variáveis Erro=0 isPost=Request.ServerVariables("REQUEST_METHOD") 'Conexão como servdior Set objConn = Server.CreateObject("ADODB.Connection") 'RecordSet de Dados Set rsLogin = Server.CreateObject("ADODB.Recordset") 'Abre a conexão objConn.Open(sConnection)  'Procedure que abre o RecordSet + SQL sub OpenRS (sQuery)  rsLogin.Open sQuery,objConn,3,3 end sub 'OpenRS  'Faz a validação contra caracteres maliciosos Function ValidaDados(input)  Lixo = array ( "select" , "insert" , "update" , "delete" , "drop" , "--" , "'")  ValidaDados = true  for i = lBound (lixo) to ubound(lixo)         if ( instr(1 ,  input , lixo(i) , vbtextcompare ) <> 0 ) then             ValidaDados = False                exit function            end if       next End Function 'ValidaDados   'CheckIt, Verifica se o campo Marcado está ok Sub CheckIt(Campo)  If (isPost = "POST") Then   If CSTR(Trim(Request.Form(Campo))) = "" Then    Erro=Erro+1    Response.Write("Class='InputErro'")   End If   If (ValidaDados(Request.Form(Campo))=False) Then    Erro=Erro+1    Response.Write("Class='InputErro'")   End IF  End If   End Sub 'CheckIt  'Função que grava os dados Sub PostInfo()  'Limpa os espaços extras  sLogin=CSTR(Trim(Request.Form("Email")))  sSenha=CSTR(Trim(Request.Form("Senha")))  'Chama a SP_LOGIN  OpenRS("{call SP_LOGIN('"&sLogin&"','"&sSenha&"')}")   If (rsLogin.RecordCount = 1) then    Session("Logado")=True    Session("Id")=rsLogin("Id")    Session("Nome")=rsLogin("Nome")    Session("Email")=rsLogin("Email")    If (Request.QueryString("IR") <> "") Then     Response.Redirect(Request.QueryString("IR"))    Else     Response.Redirect("Default.asp")    End IF   Else    Response.Write("Nome de acesso e senha não conferem!")   End If End Sub 'PostInfo%>
StoredProcedure no Banco:
CREATE PROCEDURE SP_LOGIN (    PI_EMAIL VARCHAR(100),    PI_SENHA VARCHAR(10))RETURNS (    ID INTEGER,    NOME VARCHAR(100),    EMAIL VARCHAR(100),    TABELA INTEGER)ASBEGIN    /*Seleciona o cliente segundo a senha e o nickname*/    FOR SELECT        CLI_ID,        CLI_NOME,        CLI_EMAIL    FROM        TB_CLIENTES    WHERE        CLI_EMAIL = :pi_email    AND        CLI_SENHA = :pi_senha    INTO        :ID,        :NOME,        :EMAIL    DO  SUSPEND;END
_________________________________________________________________
Obtenha o novo Windows Live Messenger!
http://get.live.com/messenger/overview


Mais detalhes sobre a lista de discussão lista