Sesuai OERR,ORA-00911 :karakter tidak valid
Penyebab :pengenal tidak boleh dimulai dengan karakter ASCII selain huruf dan angka. $#_ juga diperbolehkan setelah karakter pertama. Pengidentifikasi yang diapit oleh tanda kutip ganda dapat berisi karakter apa pun selain tanda kutip ganda. Kutipan alternatif (q'#...#') tidak dapat menggunakan spasi, tab, atau carriage return sebagai pembatas. Untuk semua konteks lainnya, lihat Manual Referensi Bahasa SQL.
Tindakan :Tidak ada
ORA-00911 pengecualian sangat umum dan biasanya terjadi untuk kesalahan sintaks yang umum. Beberapa penyebab umum dan penyelesaiannya diberikan di bawah ini
Periksa daftar untuk menjalankan kesalahan ORA-00911
1 . Terkadang ketika Anda menyalin sql dari editor lain, itu mungkin tidak dapat dicetak/karakter khusus ditambahkan (biasanya Akut alih-alih kutipan)
SQL> select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like 'USER%`; select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like 'USER%`; * ERROR at line 1: ORA-00911: invalid character
Cara yang benar adalah dengan menghapus karakter tersebut dan coba lagi
SQL> select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like 'USER%';
2. Kesalahan ini terjadi ketika karakter khusus digunakan dalam klausa SQL WHERE dan nilainya tidak diapit dalam tanda kutip tunggal.
SQL> select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like USER%; select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like USER%; * ERROR at line 1: ORA-00911: invalid character
Kueri yang benar adalah
SQL> select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like 'USER%';
3 . ketika titik koma tambahan (;) ditambahkan untuk mengakhiri kueri
SQL> select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like 'USER%';; select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like 'USER%'; * ERROR at line 1: ORA-00911: invalid character
Oracle telah meningkatkan ini 11g dan di atas
select CHECKPOINT_CHANGE# from v$database;; select CHECKPOINT_CHANGE# from v$database; * ERROR at line 1: ORA-00933: SQL command not properly ended
Cara yang benar adalah menggunakan titik koma tunggal
SQL> select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like 'USER%'; SQL> select CHECKPOINT_CHANGE# from v$database;
4 . ketika titik koma (;) ditambahkan untuk mengakhiri kueri dalam mengeksekusi langsung pl/sql
SQL> begin execute immediate 'select * from v$database;'; end; / begin * ERROR at line 1: ORA-00911: invalid character ORA-06512: at line 2
Oracle telah meningkatkan ini 11g dan di atas
begin execute immediate 'select * from v$database;'; end; / begin * ERROR at line 1: ORA-00933: SQL command not properly ended ORA-06512: at line 2
Cara yang benar adalah
begin execute immediate 'select * from v$database'; end; /
5. itu juga terjadi ketika Anda mencoba menggunakan karakter khusus dalam pernyataan SQL. Jika karakter khusus selain $, _, dan # digunakan dalam nama kolom atau tabel oracle, nama tersebut harus diapit oleh tanda kutip ganda.
create table example (j% number); create table example (j% number) * ERROR at line 1: ORA-00911: invalid character
Cara yang benar
Kita harus menyertakannya dalam tanda kutip ganda “”
SQL> create table example ("j%" number); Table created.
6. ketika titik koma (;) ditambahkan untuk mengakhiri eksekusi query dari bahasa pemrograman seperti .net atau java
Semoga Anda menyukai konten ini untuk menyelesaikan ORA-00911:karakter tidak valid di database oracle. Harap berikan umpan balik untuk meningkatkan dan memasukkan lebih banyak hal dalam posting ini
Artikel Terkait
ORA-00936 ekspresi hilang
ORA-01017:nama pengguna/kata sandi tidak valid
ora-29913:kesalahan dalam menjalankan pemanggilan odciexttableopen
Batasan unik ORA-00001 dilanggar
ORA-00257:kesalahan pengarsipan. Sambungkan hanya internal, hingga bebas.
ORA-03113:akhir file di saluran komunikasi
Dokumentasi Oracle