Megosztás:


Leíró fogópontok

A leírók olyan metaadat-gyűjtemények, amelyek egy SQL-utasítás paramétereit vagy egy eredményhalmaz oszlopait írják le az alkalmazás vagy az illesztőprogram (más néven implementáció) által látott módon. Így egy leíró négy szerepkör bármelyikét kitöltheti:

  • Alkalmazásparaméter-leíró (APD). Információkat tartalmaz az SQL-utasítás paramétereihez kötött alkalmazáspufferekről, például a címekről, a hosszúságokról és a C adattípusokról.

  • Implementációs paraméterleíró (IPD). Információkat tartalmaz az SQL-utasítás paramétereiről, például az SQL-adattípusokról, a hosszokról és a nullitásról.

  • Alkalmazássor-leíró (ARD). Információkat tartalmaz az eredményhalmaz oszlopaihoz kötött alkalmazáspufferekről, például a címekről, a hosszúságokról és a C adattípusokról.

  • Implementációs sorleíró (IRD). Információkat tartalmaz az eredményhalmaz oszlopairól, például az SQL-adattípusokról, a hosszokról és a nullitásról.

A rendszer négy leírót (egy-egy szerepkört tölt be) automatikusan lefoglal egy utasítás lefoglalásakor. Ezeket automatikusan lefoglalt leíróknak nevezzük, és mindig ehhez az utasításhoz vannak társítva. Az alkalmazások leírókat is lefoglalhatnak az SQLAllocHandle használatával. Ezeket explicit módon lefoglalt leíróknak nevezzük. Ezek egy kapcsolaton vannak lefoglalva, és egy vagy több, a kapcsolatra vonatkozó utasítással társíthatók, hogy teljesítsék az APD vagy az ARD szerepkörét ezeken az utasításokon.

Az ODBC legtöbb művelete anélkül hajtható végre, hogy az alkalmazás explicit módon használjon leírókat. A leírók azonban néhány művelethez kényelmes parancsikont biztosítanak. Tegyük fel például, hogy egy alkalmazás két különböző pufferkészletből szeretne adatokat beszúrni. Az első pufferkészlet használatához az SQLBindParameter ismételten meghívja őket az INSERT utasítás paramétereihez való kötéshez, majd végrehajtja az utasítást. A második pufferkészlet használatához megismételné ezt a folyamatot. Másik lehetőségként kötéseket állíthat be az egyik leíró első pufferkészletéhez, a másik leíróban pedig a második pufferkészlethez. A kötéskészletek közötti váltáshoz az alkalmazás egyszerűen meghívja az SQLSetStmtAttr parancsot , és a megfelelő leírót apD-ként társítja az utasításhoz.

A leírókról további információt a Leírók típusai című témakörben talál.