Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
SQL deyimlerini oluştururken ilk karar hangi dil bilgisinin kullanılacağıdır. Open Group, ANSI ve ISO gibi çeşitli standart kuruluşlarından sağlanan dil bilgilerine ek olarak, hemen hemen her DBMS satıcısı kendi dil bilgisini tanımlar ve bunların her biri standarttan biraz farklılık gösterir.
Ek C: SQL Dilbilgisi, tüm ODBC sürücülerinin desteklemesi gereken en düşük SQL dil bilgisini açıklar. Bu dil bilgisi, SQL-92 Giriş düzeyinin bir alt kümesidir. Sürücüler, SQL-92 tarafından tanımlanan Ara, Tam veya FIPS 127-2 Geçiş düzeylerine uyması için ek dil bilgisi desteği sunabilir. Daha fazla bilgi için bkz. Ek C: SQL Dil Bilgisi ve SQL-92'de SQL Minimum Dil Bilgisi .
Ek C ayrıca SQL-92 dil bilgisi kapsamında olmayan dış birleşimler gibi yaygın olarak kullanılabilen dil özellikleri için standart dil bilgisi içeren kaçış dizilerini tanımlar. Daha fazla bilgi için, Ek C: SQL Dil Bilgisi içindeki ODBC Kaçış Dizileri kısmına ve bu bölümün ilerleyen kısmındaki Kaçış Dizilerine bakın.
Seçilen dil bilgisi, sürücünün deyimini nasıl işlediğini etkiler. Sürücülerin SQL-92 SQL ve ODBC tanımlı kaçış dizilerini DBMS'ye özgü SQL'e değiştirmesi gerekir. Çoğu SQL dil bilgisi çeşitli standartlardan birini veya daha fazlasını temel alır, çünkü çoğu sürücü bu gereksinimi karşılamak için çok az iş yapar veya hiç çalışmaz. Genellikle yalnızca ODBC tarafından tanımlanan kaçış dizilerini aramaktan ve bunları DBMS'ye özgü dil bilgisi ile değiştirmekten oluşur. Bir sürücü tanımadığı dil bilgisi ile karşılaştığında, dil bilgisinin DBMS'ye özgü olduğunu varsayar ve yürütme için veri kaynağında değişiklik yapmadan SQL deyimini geçirir.
Bu nedenle, kullanılacak iki dil bilgisi seçeneği vardır: SQL-92 dil bilgisi (ve ODBC kaçış dizileri) ve DBMS'ye özgü dil bilgisi. bu iki dil bilgisinin yalnızca SQL-92 dil bilgisi birlikte çalışabilir olduğundan, tüm birlikte çalışabilen uygulamalar bunu kullanmalıdır. Birlikte çalışamayan uygulamalar SQL-92 dil bilgisini veya DBMS'ye özgü dil bilgisini kullanabilir. DBMS'ye özgü dil bilgisi iki avantajı vardır: SQL-92 kapsamında olmayan tüm özelliklerden yararlanabilirler ve sürücünün bunları değiştirmesi gerekmediğinden bunlar marjinal olarak daha hızlıdır. İkinci özellik, sürücünün kaçış dizilerini aramasını ve değiştirmesini durduran SQL_ATTR_NOSCAN deyimi özniteliği ayarlanarak kısmen zorunlu kılınabilir.
SQL-92 dil bilgisi kullanılırsa, uygulama SQLNativeSql'i çağırarak sürücü tarafından nasıl değiştirildiği bulabilir. Bu genellikle uygulamalarda hata ayıklama sırasında kullanışlıdır. SQLNativeSql, bir SQL deyimini alır ve sürücünün değiştirmesinden sonra geri döndürür. Bu işlev Çekirdek arabirimi uyumluluk düzeyinde olduğundan, tüm sürücüler tarafından desteklenir.