Megosztás a következőn keresztül:


Viselkedési változások

A viselkedésbeli változások azok a változások, amelyeknél a felület szintaxisa változatlan marad, de a szemantikák megváltoztak . Ezekhez a módosításokhoz az ODBC 2-ben használt funkciók használhatók. x másként viselkedik, mint az ODBC 3 ugyanazon funkciója. x.

Az, hogy egy alkalmazás ODBC 2-t mutat-e. x viselkedés vagy ODBC 3. x viselkedését a SQL_ATTR_ODBC_VERSION környezeti attribútum határozza meg. Ez a 32 bites érték az SQL_OV_ODBC2 az ODBC 2.x viselkedésének bemutatására van beállítva, és az SQL_OV_ODBC3 az ODBC 3.x viselkedésének bemutatására.

A SQL_ATTR_ODBC_VERSION környezeti attribútumot az SQLSetEnvAttr hívása állítja be. Miután egy alkalmazás meghívja az SQLAllocHandle-t egy környezeti leíró lefoglalására, azonnal meg kell hívnia az SQLSetEnvAttr parancsot a megjelenő viselkedés beállításához. (Ennek eredményeképpen egy új környezeti állapot írja le a környezet kezelőjét egy lefoglalt, de verziómentes állapotban.) További információkért lásd a következőt: B függelék: ODBC állapotátmeneti táblák.

Az alkalmazás meghatározza, hogy milyen viselkedést mutat a SQL_ATTR_ODBC_VERSION környezeti attribútummal, de az attribútum nincs hatással az alkalmazás és az ODBC 2 kapcsolatára. x vagy ODBC 3. x illesztő. Egy ODBC 3.x alkalmazás csatlakozhat egy ODBC 2.x-es vagy 3.x-as illesztőprogramhoz, függetlenül a környezeti attribútum beállításától.

ODBC 3. x alkalmazásoknak soha nem szabad meghívni az SQLAllocEnv parancsot. Ennek eredményeképpen, ha az illesztőprogram-kezelő hívást kap az SQLAllocEnv felé, az odBC 2-ként ismeri fel az alkalmazást. x alkalmazás.

A SQL_ATTR_ODBC_VERSION attribútum az ODBC 3 három különböző aspektusát érinti. x illesztőprogram viselkedése:

  • SQLSTATES

  • Dátum, idő és időbélyeg adattípusai

  • Az SQLTablesCatalogName argumentuma elfogadja a keresési mintákat az ODBC 3-ban. x, de az ODBC 2-ben nem. x

A SQL_ATTR_ODBC_VERSION környezeti attribútum beállítása nincs hatással az SQLSetParamra vagy az SQLBindParamra. Az SQLColAttribute-ra ez a bit sem vonatkozik. Bár az SQLColAttribute olyan attribútumokat ad vissza, amelyeket az ODBC verziója érint (dátumtípus, pontosság, skálázás és hossz), a szándékolt viselkedést a FieldIdentifier argumentum értéke határozza meg. Ha a FieldIdentifier egyenlő SQL_DESC_TYPE, az SQLColAttribute az ODBC 3 értéket adja vissza. x a dátum, az idő és az időbélyeg kódja; ha a FieldIdentifier egyenlő SQL_COLUMN_TYPE, az SQLColAttribute az ODBC 2 értéket adja vissza. x a dátum, az idő és az időbélyeg kódjai.

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