prabhakar78 Ответов: 1

Как вызвать функцию в oracle из VB.NET


привет у меня есть эта функция в oracle
CREATE OR REPLACE FUNCTION plf_encrypt(al_password IN VARCHAR2) RETURN RAW IS

	
	RETURN dbms_crypto.hash(utl_raw.cast_to_raw(upper(al_password)), dbms_crypto.hash_sh1);

END;

i try to call this using vb.net and my vb.net but it will return a error

like this ORA-06550: line 1, column 15: PLS-00306: wrong number or types of arguments in call to 'PLF_ENCRYPT' ORA-06550: line 1, column 7: PL/SQL: Statement ignored



my vb.net code i s




  Dim parm As OracleParameter
                parm = New OracleParameter()
                parm.Direction = ParameterDirection.ReturnValue
                parm.OracleDbType = OracleDbType.Raw
                parm.Size = 5000
                cmd1.Parameters.Add(parm)

                Dim r_password1 As New OracleParameter("al_password", OracleDbType.Varchar2)
                r_password1.Direction = ParameterDirection.Input
                r_password1.Value = objBEL.password
                cmd.Parameters.Add(r_password1)

               

                'Dim returnvalue As New OracleParameter("pReturnValue", OracleDbType.Raw)
                'returnvalue.Direction = ParameterDirection.ReturnValue
                'returnvalue.Size = "200"
                ''returnvalue.Value = objBEL.password
                'cmd.Parameters.Add(returnvalue)
                cmd1.ExecuteNonQuery()

                Dim rt1 As String = ""
                'rt1 = cmd1.Parameters.Item("pReturnValue").Value
                rt1 = cmd1.Parameters(0).Value()
                con.Close()

What I have tried:

if anyone know what will be the exact problem reply

Sunasara Imdadhusen

похоже, что тип данных параметров процедур хранилища не совпадает в вашем коде. Предоставьте фрагмент кода вашей базы данных

1 Ответов

Рейтинг:
0

Maciej Los

Следуйте приведенным ниже ссылкам, чтобы узнать, как решить вашу проблему и что может вызвать ее:
Oracle / PLSQL: сообщение об ошибке ORA-06550[^]
Советы ORA-06550[^]