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).
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |