Im Folgenden finden Sie eine Liste der Verhaltensänderungen von Programmierschnittstellen, die in SQL Anywhere Version 16.0 eingeführt wurden.
Schwerwiegender Fehler "Kein Speicher mehr"
Unter Windows konnten frühere Versionen der Clientbibliotheken versuchen, das Fenster Kein Speicher mehr
anzuzeigen, wenn eine Clientbibliotheksroutine keinen dynamischen Speicher belegen konnte. Eine Antwort des Benutzers wurde
abgewartet und anschließend die Anwendung beendet. Dies tun die Clientbibliotheken nicht mehr. Wenn jetzt kein Speicher mehr
verfügbar ist, wird ein Eintrag im Windows-Ereignisprotokoll geschrieben, und zwar mit der Ereignisquelle SQLANY16.0 (32-Bit-Anwendungen)
bzw. SQLANY64 16.0 (64-Bit-Anwendungen). Nach dem Schreiben des Ereignisprotokolleintrags wird die Software weiter ausgeführt,
sodass die anfordernde Routine die Fehlerbedingung verarbeiten kann. Diese Änderung verhindert, dass als Windows-Dienste geschriebene
Clientanwendungen hängen. Es ist Aufgabe des Entwicklers der Clientanwendung, zu ermitteln, warum eine Anwendung den gesamten
verfügbaren Speicher belegt. Siehe Ereignisprotokollmeldungen formatieren.
ODBC-Funktion SQLTables Die SQLTables-Funktion wurde so korrigiert, dass die dem Datenbankeigentümer gehörenden Systemtabellen, die von der CREATE DATABASE-Anweisung installiert wurden, als SYSTEM TABLE und nicht als TABLE kategorisiert werden (in der TABLE_TYPE-Spalte der Ergebnismenge). Tabellen wie dbo.jdbc_function_escapes und dbo.spt_jdatatype_info werden nun als Systemtabellen klassifiziert.
Die SQLTables-Funktion wurde so korrigiert, dass die dem Datenbankeigentümer gehörenden Systemansichten, die von der CREATE DATABASE-Anweisung installiert wurden, als SYSTEM VIEW und nicht als VIEW kategorisiert werden (in der TABLE_TYPE-Spalte der Ergebnismenge). Ansichten wie dbo.systypes und dbo.sysusers werden nun als Systemansichten klassifiziert.
JDBC-Methode DatabaseMetaData.getTables Die getTables-Methode der DatabaseMetaData-Klasse wurde so korrigiert, dass die dem Datenbankeigentümer gehörenden Systemtabellen, die von der CREATE DATABASE-Anweisung installiert wurden, als SYSTEM TABLE und nicht als TABLE kategorisiert werden (in der TABLE_TYPE-Spalte der Ergebnismenge). Tabellen wie dbo.jdbc_function_escapes und dbo.spt_jdatatype_info werden nun als Systemtabellen klassifiziert.
Die getTables-Methode wurde so korrigiert, dass die dem Datenbankeigentümer gehörenden Systemansichten, die von der CREATE DATABASE-Anweisung installiert wurden, als SYSTEM VIEW und nicht als VIEW kategorisiert werden (in der TABLE_TYPE-Spalte der Ergebnismenge). Ansichten wie dbo.systypes und dbo.sysusers werden nun als Systemansichten klassifiziert.
Änderungen der C-API für Datenbanktools Das script_full_path-Feld wurde aus der a_sync_db-Struktur entfernt. Die Verwendung dieses Felds wird seit Version 8.x nicht mehr unterstützt. Siehe a_sync_db-Struktur [Datenbanktools].
Neue Felder (wait_before_start, wait_after_end, backup_comment, auto_tune_writers und backup_history) und Enumerationen wurden zur a_backup_db-Struktur hinzugefügt. Siehe a_backup_db-Struktur [Datenbanktools].
Bezeichnerregeln und Datentypeinschränkungen werden nun für JSON-Objekte erzwungen JSON-Objektbezeichner müssen den in der Datenbank definierten Bezeichnerregeln entsprechen. Außerdem erzwingt der Datenbankserver dieselben Grenzen für JSON-Datentypen wie für die zugrunde liegenden Datentypen ROW und ARRAY.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |