Array
(
)

Como chamar procedure no oracle.

Melantonio
|
MVP
Pontos: 300
    01 jun 2012

Pessoal, boa noite!
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

Melantonio
|
MVP
Pontos: 300
    04 jun 2012

Pessoal,

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

Emanoel Deivison
   - 04 jun 2012

Bom dia amigo,

coloca o ddl de sua procedure para que possa verificar!

Melantonio
|
MVP
Pontos: 300
    05 jun 2012

Pessoal, boa tarde.

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.