Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Drivrutinshanteraren stöder två startpunkter för funktioner som använder strängargument. Den odekorerade funktionen (SQLDriverConnect) är funktionens ANSI-form. Unicode-formuläret är dekorerat med en W (SQLDriverConnectW.)
ODBC-huvudfilen har också stöd för funktioner som är dekorerade med ett A, (SQLDriverConnectA) för att underlätta för blandade ANSI/Unicode-program. Anrop till A-funktionerna är faktiskt anrop till den odekorerade startpunkten (SQLDriverConnect.)
Om programmet kompileras med _UNICODE #define mappar ODBC-huvudfilen odekorerade funktionsanrop (SQLDriverConnect) till Unicode-versionen (SQLDriverConnectW.)
Driver Manager identifierar en drivrutin som en Unicode-drivrutin om SQLConnectW stöds av drivrutinen.
Om drivrutinen är en Unicode-drivrutin gör Driver Manager funktionsanrop på följande sätt:
Skickar en funktion utan strängargument eller parametrar direkt till drivrutinen.
Skickar Unicode-funktioner (med W-suffixet ) direkt till drivrutinen.
Konverterar en ANSI-funktion (med A-suffixet) till en Unicode-funktion (med W-suffixet) genom att konvertera strängargumenten till Unicode-tecken och skicka Unicode-funktionen till drivrutinen.
Om drivrutinen är en ANSI-drivrutin gör Driver Manager funktionsanrop på följande sätt:
Skickar funktioner utan strängargument eller parametrar direkt till drivrutinen.
Konverterar Unicode-funktioner (med W-suffixet ) till ett ANSI-funktionsanrop och skickar det till drivrutinen.
Skickar en ANSI-funktion direkt till drivrutinen.
Drivrutinshanteraren är Unicode-stödd internt. Därför erhålls den optimala prestandan av ett Unicode-program som arbetar med en Unicode-drivrutin, eftersom Driver Manager helt enkelt skickar Unicode-funktioner till drivrutinen. När ett ANSI-program arbetar med en ANSI-drivrutin måste Driver Manager konvertera strängar från ANSI till Unicode när vissa funktioner bearbetas, till exempel SQLDriverConnect. När funktionen har bearbetats måste Driver Manager sedan konvertera Unicode-strängen tillbaka till ANSI innan funktionen skickas till ANSI-drivrutinen.
Ett program bör inte ändra eller läsa sina bundna parameterbuffertar när drivrutinen returnerar SQL_STILL_EXECUTING eller SQL_NEED_DATA. Driver Manager lämnar buffertarna bundna till ANSI tills drivrutinen returnerar SQL_SUCCESS, SQL_SUCCESS_WITH_INFO eller SQL_ERROR. Ett flertrådat program bör inte få åtkomst till några bundna parametervärden som en annan tråd kör en SQL-instruktion på. Driver Manager konverterar data från Unicode till ANSI "på plats", och den andra tråden kan se ANSI-data i dessa buffertar medan drivrutinen fortfarande bearbetar SQL-instruktionen. Program som binder Unicode-data till en ANSI-drivrutin får inte binda två olika kolumner till samma adress.