Cuối cùng thì nó cũng hoạt động được. Tôi đã thêm kích thước của từng tham số và thực hiện các chỉnh sửa đối với lệnh gọi:hàm có bốn tham số (1 vào, 3 ra) và không có giá trị trả về:
using (OdbcCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "{ CALL TESTUSER.TESTPKG.TESTFUNC(?,?,?,?) }";
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add("PARAM1", OdbcType.Decimal, 38).Direction = System.Data.ParameterDirection.Input;
cmd.Parameters["PARAM1"].Value = var1;
cmd.Parameters.Add("PARAM2", OdbcType.VarChar, 5).Direction = System.Data.ParameterDirection.Output;
cmd.Parameters.Add("PARAM3", OdbcType.VarChar, 50).Direction = System.Data.ParameterDirection.Output;
cmd.Parameters.Add("PARAM4", OdbcType.VarChar, 200).Direction = System.Data.ParameterDirection.Output;
cmd.ExecuteNonQuery();
Tôi cũng thấy tài liệu này rất hữu ích: Sử dụng trình điều khiển Oracle ODBC với thứ ba Sản phẩm bên