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

 

Datenausrichtungsanforderungen

Wenn Sie SQLBindCol, SQLBindParameter oder SQLGetData verwenden, wird ein "C"-Datentyp für die Spalte oder den Parameter festgelegt. Auf bestimmten Plattformen muss der für die einzelnen Spalten bereitgestellte Speicher richtig ausgerichtet sein, um einen Wert des angegebenen Typs abrufen oder speichern zu können. Der ODBC-Treiber prüft auf richtige Datenausrichtung. Wenn ein Objekt nicht richtig ausgerichtet ist, gibt der ODBC-Treiber die Meldung Ungültige Zeichenfolgen- oder Pufferlänge aus (SQLSTATE HY090 oder S1090).

Die folgende Tabelle listet Ausrichtungsanforderungen für Prozessoren wie Sun Sparc, Itanium-IA64 und ARM-basierte Geräte auf. Die Speicheradresse des Datenwerts muss ein Mehrfaches des angegebenen Werts sein.

C-Datentyp Erforderliche Ausrichtung
SQL_C_CHAR keine
SQL_C_BINARY keine
SQL_C_GUID keine
SQL_C_BIT keine
SQL_C_STINYINT keine
SQL_C_UTINYINT keine
SQL_C_TINYINT keine
SQL_C_NUMERIC keine
SQL_C_DEFAULT keine
SQL_C_SSHORT 2
SQL_C_USHORT 2
SQL_C_SHORT 2
SQL_C_DATE 2
SQL_C_TIME 2
SQL_C_TIMESTAMP 2
SQL_C_TYPE_DATE 2
SQL_C_TYPE_TIME 2
SQL_C_TYPE_TIMESTAMP 2
SQL_C_WCHAR 2 (Puffergröße muss auf allen Plattformen ein Mehrfaches von 2 sein)
SQL_C_SLONG 4
SQL_C_ULONG 4
SQL_C_LONG 4
SQL_C_FLOAT 4
SQL_C_DOUBLE 8 (4 für ARM)
SQL_C_SBIGINT 8
SQL_C_UBIGINT 8

Die x86-, x64- und PowerPC-Plattformen erfordern keine Speicherausrichtung. Die x64-Plattform umfasst AMD64-Prozessoren (Advanced Micro Devices) und EM64T-Prozessoren (Intel Extended Memory 64 Technology).