Como chamar procedure no oracle.
01/06/2012
0
Preciso chamar uma procedure no oracle, mas essa proc recebe como parametro um type.
Procurei na net e achei um exemplo, mas no meu object OracleParameter, não tem o atributo UdtTypeName e tbm não tenho a opção OracleDbType.Object.
fonte: http://forums.asp.net/t/1560135.aspx/1
Isso pode ser da versão da DLL do Oracle Data Access?
Qual versão eu deve usar?
Att,
Tiago Melantonio
Tiago Melantonio
Posts
04/06/2012
Tiago Melantonio
Consegui utilizar esse type Object (peguei uma nova versão da dll Oracle Data Access), porém estou tomando o erro:
Invalid parameter binding Parameter name: p_customer_wl_tp
O que pode ser?
Estou utilizando o VS 2003.
Att,
Tiago Melantonio
04/06/2012
Deivison Melo
coloca o ddl de sua procedure para que possa verificar!
05/06/2012
Tiago Melantonio
Segue abaixo o código que estou utilizando:
using (OracleConnection connOra = new OracleConnection())
{
connOra.ConnectionString = user id=B2W_ITG_CLIENTE_SUBA;password=b2w_itg_cliente_suba_hml;data source=BWWLHM;
connOra.Open();
try
{
using (OracleCommand cmd = new OracleCommand(mig_b2w.b2w_enq_cust_wl_from_sql, connOra))
{
cmd.CommandType = CommandType.StoredProcedure;
using (OracleParameter parameterOra = new OracleParameter())
{
parameterOra.Direction = ParameterDirection.Input;
parameterOra.UdtTypeName = B2W_BPEL_AQ.B2W_CUSTOMER_WL_TP;
parameterOra.ParameterName = p_customer_wl_tp;
parameterOra.OracleDbType = OracleDbType.Object;
parameterOra.Value = (object)customer_wl;
cmd.Parameters.Add(parameterOra);
}
cmd.ExecuteNonQuery();
}
}
catch (Exception ex)
{
}
}
Olhando na internet, vi que preciso implementar alguns métodos na minha entidade, segue o link do que encontrei para gerar a entidade baseada nos types do Oracle, mas meu visual studio não reconhece esse ODP .Net
http://developergeeks.com/article/8/generate-custom-net-types-from-oracle-udt
Obrigado.
Clique aqui para fazer login e interagir na Comunidade :)