Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

C # gọi hàm lưu trữ oracle

ORA-06550 mã bạn nhận được có nghĩa là hàm đã được biên dịch với các câu lệnh không hợp lệ và cần được viết lại. Tôi không thấy có gì sai rõ ràng với mã, vì vậy, bạn có thể gặp các vấn đề như quyền hoặc tên bảng không chính xác và trước hết nên kiểm tra xem bạn có thể chạy hàm trong trình soạn thảo PL / SQL hay không. Sau đó, sau khi bạn chạy, hãy thử ...

var cmd = new OracleCommand();

cmd.Connection = conn;
cmd.CommandText = "ar_knyga_egzistuoja";
cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add("id", id);
cmd.Parameters.Add("kiekis", OracleType.Number);
cmd.Parmeters["kiekis"].Direction = ParameterDirection.ReturnValue;

cmd.Connection.Open();
cmd.ExecuteNonQuery();

var kiekis = Convert.ToString(cmd.Parameters["kiekis"].Value);

MessageBox.Show(kiekis);
cmd.Connection.Close();

Điều này sẽ có thể chạy chức năng giống như một thủ tục được lưu trữ trong khi mong đợi một giá trị trả về có tên là kiekis thuộc loại number sẵn sàng cho công việc.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm RTRIM () trong Oracle

  2. Ví dụ về Java trong Cơ sở dữ liệu Oracle

  3. RMAN Liệt kê các lệnh sao lưu

  4. Có thể chạy tập lệnh SQLPLUS trên tệp được mã hóa là UTF-8 với BOM không

  5. Làm cách nào để tăng bộ đệm dbms_output?