lele01 0 Denunciar post Postado Maio 8, 2008 Pessoal http://forum.imasters.com.br/public/style_emoticons/default/excl.gif Tenho uma procedure em Oracle e SQL server, e esta deve ser chamada via ODBC e pode utilizar tanto driver Microsoft ODBC for Oracle quanto SQL server. A conexão esta tudo OK, mas não estou conseguindo fazer a chamada da procedure, pois da erro de passagem de parametro. Fiz um exemplo utilizando ODBC que utiliza drive sql server e funcionou. Não sei como fazer em Oracle, alguem pode me ajudar. Ou existe uma forma de utilizar a mesma chamada de procedure para os dois tipos de driver. Alguem pode me ajudar? Preciso urgentemente, e não sei mais o que fazer. pois sou nova em desenvolvimento .Net (VB.net) Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Maio 8, 2008 Primeiro passou projeto web ou windows? Segundo, poste parte do seu código. E terceiro o que exatamente não esta conseguindo, esta dando algum erro? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
lele01 0 Denunciar post Postado Maio 8, 2008 Meu projeto é Windows. Eu quero que esta função execute a procedure com odbc, oracleclient e Sqlclient Com o oracleclient e Sqlclient ela esta funcionando, caso que não acontece com ODBC. Public Function SCA_UserId(ByVal cn As IDbConnection, ByRef sMsErro As String, _ ByRef lUser_Id As Long, Optional ByVal sUser As String = Nothing) As Boolean 'Referencia para a interface IDbCommand Dim cmd As IDbCommand 'Referencia para a interface IDataParameter Dim pr As IDbDataParameter 'Retorno da execução da procedure Dim sRet As Boolean Try SCA_UserId = False 'Consistencia dos parametros informados para 'evitar erro na chamada da procedure If vb.Len(sUser) > 30 Then Exit Function '********************************************************** If kGeraVersaoDummy Then 'Se for para gerar a versao Dummy 'sempre retorna valor fixo lUser_Id = 0 SCA_UserId = True Exit Function End If '********************************************************** cmd = cn.CreateCommand() 'Instancia o objeto de conexão conforme o tipo de Banco de Dados cmd.CommandType = CommandType.StoredProcedure ' Tipo de comando a ser executado é StoreProcedure cmd.CommandText = "SCAP_UserID" 'Nome da StoreProcedure cmd.Connection = cn 'Cria um objeto derivado de IDbDataParameter pr = cmd.CreateParameter() pr.ParameterName = "pUser_ID" pr.Direction = ParameterDirection.Output pr.DbType = DbType.Int32 pr.Value = DBNull.Value cmd.Parameters.Add(pr) pr = cmd.CreateParameter() pr.ParameterName = "pUsd_NM" pr.Direction = ParameterDirection.Input pr.DbType = DbType.AnsiString pr.Value = sUser cmd.Parameters.Add(pr) sRet = cmd.ExecuteScalar If Not IsDBNull(cmd.Parameters(0).Value) Then lUser_Id = cmd.Parameters(0).Value End If SCA_UserId = True Catch er As Exception sMsErro = "Erro Procedure SCA_UserId - " & er.Message SCA_UserId = False End Try End Function Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Maio 9, 2008 Movido Plataforma .NET » Visual Studio .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET » Windows Applications Qual o erro? Não tenho como testar sua procedure!! Compartilhar este post Link para o post Compartilhar em outros sites