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

bagaimana saya bisa mengeluarkan parameter sebagai varchar2 di Oracle

Tidak kurang dari 10 kelebihan OracleParameterCollection.Add metode. Sepertinya Anda tidak sengaja menelepon orang yang salah.

Saya yakin yang Anda inginkan adalah Add(string, OracleDbType, int, object, ParameterDirection) , dalam hal ini Anda hanya kehilangan nilai untuk object parameter. Parameter ini harus berisi nilai awal untuk parameter Oracle yang Anda gunakan. Namun, dalam kasus Anda, nilai awal tidak masalah karena merupakan out parameter. Tambahkan null setelah 50 dan panggilan prosedur tersimpan Anda akan berhasil.

Yang Anda panggil adalah Add(string, OracleDbType, object, ParameterDirection) . Ukuran 50 telah ditafsirkan sebagai nilai awal untuk parameter. Saya tidak yakin bagaimana menafsirkan kesalahan yang dikembalikan Oracle ("kesalahan numerik atau nilai") - yang menyiratkan kepada saya bahwa Oracle telah mencoba mengonversi string menjadi angka dan gagal. Mungkin nilainya 50 menimpa tipe OracleDbType.Varchar2 jadi Oracle mengharapkan angka daripada string?

Ada beberapa masalah lain yang saya temukan:

  • Harus command.Parameters["SP_REQ_NUM"] menjadi command.Parameters["SP_NUM"] ?
  • Prosedur tersimpan Anda tidak mengembalikan angka; memanggil Convert.ToInt32 pada string seperti 201405 001 akan gagal.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tebas atau Tanpa Tebas?

  2. Prosedur Oracle Sederhana Gagal

  3. menambahkan bulan ke tanggal SQL

  4. Membuat antarmuka pengguna yang sederhana untuk mengakses database Oracle

  5. system() mengembalikan -1, errno=10 saat masuk ke Oracle