ORA-00911: invalid character
İfadede Oracle’ın o noktada kabul edemeyeceği bir karakter var. Uygulamada bu çoğunlukla Word, Outlook ya da bir web sayfasından yapıştırılan kıvrık tırnak ya da görünmez bir karakterdir. Tırnakları ve hatanın çevresini elle yeniden yazın.
ORA-00911 ne demek?
SQL tanımlayıcıları ve noktalama işaretleri sınırlı bir karakter kümesi kabul eder. Ayrıştırıcı metin değeri dışında başka bir şeyle karşılaşınca ORA-00911 ile durur. Belgelerden kopyalanan metin klasik kaynaktır: ifade ekranda doğru görünür ama ‘ ve ’ düz tırnakla (') aynı karakter değildir.
ORA-00911 neden olur?
- Word, Outlook, Teams ya da bir web sayfasından kopyalanan kıvrık tırnaklar veya uzun tireler.
- Bölünmez boşluk gibi görünmez karakterler.
- Çift tırnak olmadan rakamla başlayan ya da
-gibi karakterler içeren tanımlayıcılar. - Bir adın çevresindeki ters tırnak gibi başka bir aracın sözdizimi karakterleri.
ORA-00911 nasıl çözülür?
- Tırnakları yapıştırmak yerine elle yazın.
- İfadeyi düz metin editörüne yapıştırıp hatanın gösterdiği konuma bakın.
- Alışılmadık tanımlayıcıları çift tırnağa alın; daha iyisi adlarını değiştirin.
- SQL’iniz bir belgeden geliyorsa oradaki akıllı tırnak özelliğini kapatın.
ORA-00911 örneği
Kıvrık tırnak düz tırnağa çok benzer:
-- ORA-00911: invalid character
SELECT ‘a’ FROM dual;
-- Çalışır
SELECT 'a' FROM dual;
SQLlightspeed’de
Bir ifade hata verdiğinde SQLlightspeed’in hata paneli, hata kodunu sade bir Türkçe açıklama ve ne yapmanız gerektiğine dair bir öneriyle; Oracle’ın kendi mesajı ve Oracle dokümantasyonuna bağlantıyla birlikte gösterir — bu hata ve sık görülen onlarca başka hata için.
İlgili hatalar
ORA-00933ORA-00936ORA-00904 Tüm Oracle hataları →
Oracle dokümantasyonu: ORA-00911. Oracle, Oracle Corporation’ın tescilli ticari markasıdır. SQLlightspeed’in Oracle ile bir bağlantısı yoktur.