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

System.Data.OracleClient.OracleException:ORA-01036:nama/nomor variabel ilegal

Saya pikir masalah Anda timbul karena penggunaan enum yang tidak valid dalam panggilan Tambahkan metode Anda

Jika Anda menjalankan kode ini, Anda dapat melihat bahwa OracleType untuk Int32 tidak sama dengan SqlDbType

OracleType e = OracleType.Int32;
int i = (int)e;
Console.WriteLine(i.ToString());   // Output = 28
SqlDbType z = SqlDbType.Int;
i = (int)z;
Console.WriteLine(i.ToString());   // Output = 8

Jadi, saya sarankan untuk menggunakan enum yang benar untuk penyedia ADO.NET Anda.

Menarik untuk dicatat bahwa memanggil Add dengan SqlDbType alih-alih OracleType diterima dan tidak menimbulkan kesalahan waktu kompiler. Ini terjadi karena metode Add memiliki kelebihan yang menerima objek sebagai parameter kedua (Ini digunakan untuk meneruskan nilai secara langsung saat membangun parameter).

Alternatifnya adalah menggunakan AddWithValue dari OracleParameterCollection

   command.Parameters.AddWithValue("@course_Id", course_Id);
   command.Parameters.AddWithValue("@question", question);
   command.Parameters.AddWithValue("@posterName", posterName);
   command.Parameters.AddWithValue("@blogdate", blog_date);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. konfigurasikan php dengan oracle

  2. oracle mengonversi waktu zaman unix menjadi tanggal

  3. Mencetak karakter satu per satu dari string (VARCHAR2) Oracle sql tanpa menggunakan plsql dan juga tanpa menggunakan dual

  4. Bagaimana cara menghilangkan jam tidak bekerja di Oracle

  5. Bagaimana cara menghubungkan dari php ke Oracle DB 12c?