Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 (Deutsch) » SQL Anywhere Server - Programmierung » ODBC-Unterstützung » ODBC-Anwendungen erstellen

 

UTF-32-ODBC-Treibermanager für Unix

Die Versionen von ODBC-Treibermanagern für , die SQLWCHAR als 32-Bit-Mengen (UTF-32) definieren, können nicht mit dem SQL Anywhere-ODBC-Treiber verwendet werden, der weite Aufrufe unterstützt, da dieser Treiber für 16-Bit-SQLWCHAR erstellt wurde. Für solche Fälle wird eine reine ANSI-Version des SQL Anywhere-ODBC-Treibers zur Verfügung gestellt. Diese Version des ODBC-Treibers unterstützt keine Schnittstellen für weite Aufrufe (z.B. SQLConnectW).

Der Shared Object-Name des Treibers lautet libdbodbcansi12_r. Von dem Treiber wird nur eine Variante mit Threading zur Verfügung gestellt. Unter Mac OS X steht der Treiber zusätzlich zu den dylib-Dateien auch in Bundle-Form zur Verfügung (dbodbcansi12_r.bundle). Bestimmte Frameworks, z.B. Real Basic, funktionieren nicht mit den dylib-Dateien und erfordern das Bundle.

Der normale ODBC-Treiber behandelt SQLWCHAR-Zeichenfolgen als UTF-16-Zeichenfolgen. Dieser Treiber kann mit einigen ODBC-Treibermanagern nicht verwendet werden, die SQLWCHAR-Zeichenfolgen als UTF-32 Zeichenfolgen behandeln, z.B. iODBC. Bei Verwendung von Unicode-fähigen Treibern konvertieren diese Treibermanager nahe Aufrufe von der Anwendung in weite Aufrufe für den Treiber. Ein reiner ANSI-Treiber umgeht dieses Verhalten, sodass der Treiber mit diesen Treibermanagern verwendet werden kann, sofern die Anwendung keine weiten Aufrufe ausführt. Weite Aufrufe über iODBC oder über einen anderen Treibermanager mit ähnlicher Semantik werden weiterhin nicht unterstützt.