Einige Datentypen haben in SQL Anywhere andere Wertebereiche als in Open Client. In solchen Fällen kann es zu Überlauffehlern während der Abfrage oder des Einfügens von Daten kommen.
Die folgende Tabelle zeigt Open Client-Anwendungsdatentypen, die zwar SQL Anywhere-Datentypen zugeordnet werden können, aber nur mit einigen Einschränkungen im Wertebereich möglicher Werte.
In den meisten Fällen wird der Open Client-Datentyp einem SQL Anywhere-Datentyp zugeordnet, der einen größeren Bereich möglicher Werte hat. Deshalb ist es möglich, einen Wert an SQL Anywhere zu übergeben, der zwar akzeptiert und in einer Datenbank gespeichert wird, der aber zu groß ist, um von einer Open Client-Anwendung abgerufen zu werden.
Datentyp | Untere Open Client-Grenze | Obere Open Client-Grenze | Untere SQL Anywhere-Grenze | Obere SQL Anywhere-Grenze |
---|---|---|---|---|
MONEY | -922 377 203 685 477.5808 | 922 377 203 685 477.5807 | -1e15 + 0.0001 | 1e15 - 0.0001 |
SMALLMONEY | -214 748.3648 | 214 748.3647 | -214 748.3648 | 214 748.3647 |
DATETIME | 1. Jan 1753 | 31. Dez 9999 | 1. Jan 0001 | 31. Dez 9999 |
SMALLDATETIME | 1. Jan 1900 | 6. Jun 2079 | 1. Mrz 1600 | 31. Dez 7910 |
Die Open Client-Datentypen MONEY und SMALLMONEY umfassen zum Beispiel nicht den gesamten nummerischen Bereich der zugrunde liegenden SQL Anywhere-Implementierung. Daher kann in einer Spalte in SQL Anywhere ein Wert enthalten sein, der die Grenzwerte des Open Client-Datentyps MONEY überschreitet. Ruft der Client einen solchen unzulässigen Wert mit SQL Anywhere ab, wird eine Fehlermeldung erzeugt.
Die Implementierung des Open Client-Datentyps TIMESTAMP in SQL Anywhere unterscheidet sich von der Implementierung in Adaptive Server Enterprise. Der Wert wird in SQL Anywhere dem SQL Anywhere-Datentyp DATETIME zugewiesen. Der voreingestellte Wert ist NULL in SQL Anywhere, die Eindeutigkeit des Wertes ist nicht garantiert. Im Gegensatz dazu stellt Adaptive Server Enterprise sicher, dass der Wert gleichförmig steigt und somit immer eindeutig ist.
Der SQL Anywhere-Datentyp TIMESTAMP umfasst Jahr, Monat, Tag, Stunde, Minute, Sekunde und Sekundenbruchteile. Außerdem hat der Datentyp DATETIME einen größeren Wertebereich als die Open Client-Datentypen, die von SQL Anywhere zugeordnet werden.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |