Dela via


Standardkompatibla program och drivrutiner

Ett standardkompatibelt program eller drivrutin är ett program eller en drivrutin som överensstämmer med Open Group CAE-specifikationen "Data Management: SQL Call-Level Interface (CLI)" och ISO/IEC 9075-3:1995 (E) Call-Level Interface (SQL/CLI).

ODBC 3.x garanterar följande funktioner:

  • Ett program som skrivits till Open Group- och ISO CLI-specifikationerna fungerar med en ODBC 3.x-drivrutin eller en standardkompatibel drivrutin när den kompileras med ODBC 3.x-huvudfilerna och länkas med ODBC 3.x-bibliotek och när den får åtkomst till drivrutinen via ODBC 3.x Driver Manager.

  • En drivrutin som skrivits till specifikationerna för Open Group och ISO CLI fungerar med ett ODBC 3.x-program eller ett standardkompatibelt program när det kompileras med ODBC 3.x-huvudfilerna och länkas med ODBC 3.x-bibliotek , och när programmet får åtkomst till drivrutinen via ODBC 3.x Driver Manager.

Standardkompatibla program och drivrutiner kompileras med ODBC_STD kompileringsflagga.

Standardkompatibla program har följande beteende:

  • Om ett standardkompatibelt program anropar SQLAllocEnv (vilket kan inträffa eftersom SQLAllocEnv är en giltig funktion i Open Group och ISO CLI) mappas anropet till SQLAllocHandleStd vid kompileringstillfället . Därför anropar programmet SQLAllocHandleStd vid körning. Under bearbetningen av det här anropet anger Driver Manager attributet SQL_ATTR_ODBC_VERSION miljö till SQL_OV_ODBC3. Ett anrop till SQLAllocHandleStd motsvarar ett anrop till SQLAllocHandle med en HandleType av SQL_HANDLE_ENV och ett anrop till SQLSetEnvAttr för att ange SQL_ATTR_ODBC_VERSION till SQL_OV_ODBC3.

  • Om ett standardkompatibelt program anropar SQLBindParam (vilket kan inträffa eftersom SQLBindParam är en giltig funktion i Open Group och ISO CLI) mappar ODBC 3.x Driver Manager anropet till motsvarande anrop i SQLBindParameter. (Se SQLBindParam-mappning i bilaga G: Riktlinjer för drivrutin för bakåtkompatibilitet.)

  • För att justera med ISO CLI innehåller ODBC 3.x-huvudfilerna alias för informationstyper som används i anrop till SQLGetInfo. Ett standardkompatibelt program kan använda dessa alias i stället för ODBC 3.x-informationstyperna . Mer information finns i nästa avsnitt, Rubrikfiler.

  • Ett standardkompatibelt program måste kontrollera att alla funktioner som det stöder stöds i drivrutinen som det fungerar med. Att ange SQL_ATTR_CURSOR_SCROLLABLE-instruktionsattributet till SQL_SCROLLABLE och ange attributet SQL_ATTR_CURSOR_SENSITIVITY-instruktionen till SQL_INSENSITIVE eller SQL_SENSITIVE är funktioner som är tillgängliga som valfria funktioner i standarderna, men som inte ingår i ODBC 3.x Core-nivån och därför kanske inte stöds av alla ODBC 3.x-drivrutiner . Om ett standardkompatibelt program använder dessa funktioner bör det kontrollera att drivrutinen som den kommer att arbeta med stöder dem.