Megosztás:


Escape Sequences az ODBC-ben

A DBMS-ek számos nyelvi funkciót, például külső illesztéseket és skaláris függvényhívásokat implementálnak. Ezeknek a funkcióknak a szintaxisa azonban általában DBMS-specifikus, még akkor is, ha a standard szintaxisokat a különböző szabványtestek határozzák meg. Emiatt az ODBC olyan feloldósorozatokat határoz meg, amelyek szabványos szintaxisokat tartalmaznak a következő nyelvi funkciókhoz:

  • Dátum, idő, időbélyegző és dátumidő-intervallum literálok

  • Skaláris függvények, például numerikus, sztring és adattípus-konverziós függvények

  • LIKE kifejezésből való kilépési karakter

  • Külső illesztések

  • Eljáráshívások

Az ODBC által használt menekülési sorrend a következő:

  
(extension)  
  

Megjegyzések

A menekülési sorozatot az illesztőprogramok felismerik és elemzik, amelyek a menekülési sorozatokat DBMS-specifikus nyelvtanra cserélik. A menekülési sorozat szintaxisáról további információt az ODBC Escape Sequences című témakörben talál a C függelékben: SQL Grammar.

Megjegyzés:

Az ODBC 2-ben. x, ez volt a feloldósorozat szabványos szintaxisa: --(*vendor(vendor-name), product(product-name)extension*)--

Ezen szintaxis mellett definiáltak egy rövidített szintaxist az alábbi formában: {extension}

Az ODBC 3-ban. x, a menekülési sorozat hosszú formája elavult, és a rövidített formát kizárólag a rendszer használja.

Mivel a feloldóütemezéseket az illesztő dbMS-specifikus szintaxisokra képezte le, az alkalmazások használhatják a feloldósorozatot vagy a DBMS-specifikus szintaxist. A DBMS-specifikus szintaxist használó alkalmazások azonban nem lesznek együttműködők. Az escape szekvencia használatakor az alkalmazásoknak meg kell győződniük arról, hogy a SQL_ATTR_NOSCAN attribútum ki van kapcsolva, ami alapértelmezés szerint be van. Ellenkező esetben a rendszer közvetlenül az adatforrásnak küldi el az escape szekvenciát, ahol általában szintaxishibát okoz.

Az illesztőprogramok csak azokat a feloldóütemezéseket támogatják, amelyeket a mögöttes nyelvi funkciókra képezhetnek le. Ha például az adatforrás nem támogatja a külső illesztéseket, az illesztőprogram sem. Annak megállapításához, hogy mely feloldósorozatok támogatottak, egy alkalmazás meghívja az SQLGetTypeInfo-t és az SQLGetInfo-t. További információkért lásd a következő szakaszt: Dátum, Idő és Időbélyeg Literálok.

Ez a szakasz a következő témaköröket tartalmazza.