Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Kode untuk memanggil fungsi dalam paket dari C# dan ODP.NET

Ini adalah pertanyaan pertama saya di forum ini dan saya senang memposting jawaban saya sendiri.

Kita dapat memanggil fungsi paket oracle menggunakan ODP.NET dengan mengatur CommandType.StoredProcedure .

ORA-06550: line 1, column 7:
PLS-00221: 'INSERT_FUNC' is not a procedure or is undefined
ORA-06550: line 1, column 7: PL/SQL: Statement ignored

Jika Anda mendapatkan kesalahan ini, tambahkan saja baris ini sebagai parameter pertama pada objek perintah:

cmd.Parameters.Add("Return_Value", OracleDbType.Int16,
    ParameterDirection.ReturnValue);

Berikut kode kerjanya:

using (var conn = new OracleConnection(oradb))
using (var cmd = conn.CreateCommand())
{
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandText = "PKG_NAME.INSERT_FUNC";

    cmd.BindByName = true;

    cmd.Parameters.Add("Return_Value", OracleDbType.Int16,
        ParameterDirection.ReturnValue);
    cmd.Parameters.Add("i_description", OracleDbType.Varchar2, 1000,
        promotionEventSetupDetails.PromotionDescription,
        ParameterDirection.Input);
    cmd.Parameters.Add("i_theme", OracleDbType.Varchar2, 80,
        promotionEventSetupDetails.PromotionTheme,
        ParameterDirection.Input);
    cmd.Parameters.Add("o_id", OracleDbType.Varchar2,
        ParameterDirection.Output);
    cmd.Parameters.Add("o_error_msg", OracleDbType.Varchar2,
        ParameterDirection.Output);

    conn.Open();
    using (var dr = cmd.ExecuteReader())
    {
        // do some work here
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pisahkan File Teks/CSV Besar menjadi Beberapa File di PL SQL

  2. 40 pertanyaan yang harus Anda ketahui tentang R12.2

  3. Bagaimana cara mengembalikan ketika terjadi kesalahan saat menjalankan perintah sql loader?

  4. Apa perbedaan antara Tampilan dan Tampilan Terwujud di Oracle?

  5. Apa yang dapat menyebabkan kesalahan ORA-12519 (TNS:tidak ditemukan penangan yang sesuai)?