Im Folgenden finden Sie eine Liste neuer Funktionen in SQL Anywhere Version 12.0.1.
Weitere Hinweise zu den Änderungen der unterstützten Plattformen finden Sie unter http://www.sybase.com/detail?id=1061806.
Erweiterungen zur Unterstützung räumlicher Daten Die folgenden Erweiterungen wurden zur Unterstützung räumlicher Daten in SQL Anywhere vorgenommen:
Verbesserte Performance Für folgende räumliche Vorgänge wurden erhebliche Performance-Verbesserungen erzielt:
Ladedauer für Formdateien
Laden von Polygonen und Multipolygonen und Sammlungen mit Polygonen, die zu einem räumlichen Bezugssystem mit gewölbter Erddarstellung gehören
Laden von komplexen Polygonen und Multipolygonen (z.B. Polygone, die durch viele Ringe oder Ringe mit vielen Punkten definiert sind)
Auf komplexe Geometrien angewendete räumliche Set-Operationen, wie etwa ST_Union und ST_Intersection
Räumliche Prädikate, wie z.B. ST_Contains und ST_Intersects
Räumliche Prädikate, bei denen eine der Geometrien ein Punkt ist
Räumliche Prädikate, die ST_WithinDistance oder ST_Distance auf indizierte Spalten in einer Geometrie mit gewölbter Erddarstellung anwenden
Interactive SQL: Import-Assistent unterstützt nun Formdateien Der Import-Assistent verfügt nun über eine Option für das Importieren von ESRI-Formdateien. Siehe Importieren von Daten mit dem Import-Assistenten.
Interactive SQL: Neue FORMAT SHAPEFILE- und SRID-Klausel für die INPUT-Anweisung Die INPUT-Anweisung unterstützt nun das Laden von ESRI-Formdateien mit der FORMAT SHAPEFILE-Klausel. Die SRID-Klausel wurde ebenfalls zur INPUT-Anweisung hinzugefügt, um die zu verwendende SRID beim Laden der Formdatei anzugeben. Siehe INPUT-Anweisung [Interactive SQL].
Neue st_geometry_load_shapefile-Systemprozedur Mit der st_geometry_load_shapefile-Systemprozedur können Sie eine ESRI-Formdatei laden, indem Sie den Namen der Datei, die beim Laden der Daten zu verwendende SRID und den Namen der zu erstellenden Tabelle, in die die Daten geladen werden sollen, angeben. Die Spalten für die Tabelle werden aus den in der Formdatei angegebenen Spaltennamen übernommen. Siehe st_geometry_load_shapefile-Systemprozedur.
Sie müssen ein Upgrade Ihrer Datenbank ausführen, um auf diese neue gespeicherte Prozedur zugreifen zu können.
Neue Datenbankoption zur Angabe der ST_CircularString-Interpolationstoleranz Die st_geometry_interpolation-Option wurde zur Steuerung der Interpolation von ST_CircularString-Geometrien hinzugefügt. Siehe st_geometry_interpolation-Option.
Erweiterungen von ST_WithinDistanceFilter Das räumliche Prädikat ST_WithinDistanceFilter wird nun für Geometrien in einem räumlichen Bezugssystem mit gewölbter Erddarstellung unterstützt. Siehe ST_WithinDistanceFilter-Methode für den ST_Geometry-Datentyp.
Erweiterung der java_class_path-Option Sie können nun mit der java_class_path-Datenbankoption die Klassen und JAR-Dateien festlegen, die der Systemklassenlader zum Klassenpfad hinzufügen soll, bevor die Java-VM gestartet wird. Diese Option ist nützlich, wenn Ihre Anwendung die Verzeichnisse oder JAR-Dateien angeben muss. Siehe java_class_path-Option.
Neuer ODBC-Verbindungsparameter MATVIEW Mit dem MATVIEW-Verbindungsparameter können Sie die Zeichenfolge angeben, die für den Tabellentyp von materialisierten Ansichten zurückgegeben werden soll, wenn die ODBC-Funktion SQLTables ausgeführt wird. Standardmäßig ist der von der SQLTables-Funktion zurückgegebene Wert VIEW. Siehe Verbindungsparameter MatView (MATVIEW).
Neue Datenbankserveroption -kp Sie können nun die Option -kp verwenden, um den Serverprinzipal im Standardformat server-name/hostname@REALM anzugeben. Die Option -kp aktiviert von Kerberos authentifizierte Verbindungen zum Datenbankserver. Siehe Datenbankserveroption -kp .
Erweiterungen der PartnerState-Eigenschaft Die PartnerState-Eigenschaft gibt nun einen der folgenden Werte zurück, wenn sie mit der DB_PROPERTY-Funktion verwendet wird:
connected Es gibt eine Verbindung vom aktuellen Server zum angegebenen Server und eine Verbindung vom angegebenen Server zum aktuellen Server.
incoming only Es gibt eine Verbindung vom angegebenen Server zu diesem Server.
outgoing only Es gibt eine Verbindung von diesem Server zum angegebenen Server.
disconnected Es gibt keine Verbindungen zwischen diesen Server und dem angegebenen Server.
NULL Die Datenbank wird nicht gespiegelt.
Erweiterungen der MirrorServerState-Eigenschaft Die MirrorServerState-Eigenschaft gibt nun einen der folgenden Werte zurück, wenn sie mit der DB_EXTENDED_PROPERTY-Funktion verwendet wird:
connected Es gibt eine Verbindung vom aktuellen Server zum angegebenen Server und eine Verbindung vom angegebenen Server zum aktuellen Server.
incoming only Es gibt eine Verbindung vom angegebenen Server zu diesem Server.
outgoing only Es gibt eine Verbindung von diesem Server zum angegebenen Server.
disconnected Es gibt keine Verbindungen zwischen diesen Server und dem angegebenen Server.
NULL Die Datenbank wird nicht gespiegelt.
Siehe MirrorServerState-Datenbankeigenschaft, DB_PROPERTY-Funktion [System] und DB_EXTENDED_PROPERTY-Funktion [System].
Neue sp_forward_to_remote_server-Prozedur Sie können mit der gespeicherten Prozedur sp_forward_to_remote_server einer Anwendung erlauben, eine SQL-Anweisung auf einem Fremdserver auszuführen und durch die Anweisung generierte Ergebnismengen abzufragen. Siehe sp_forward_to_remote_server-Systemprozedur.
Sie müssen ein Upgrade Ihrer Datenbank ausführen, um auf diese gespeicherte Prozedur zugreifen zu können.
Neue sa_user_defined_counter_add-Systemprozedur Mit der Systemprozedur sa_user_defined_counter_add können Sie den Wert einer benutzerdefinierten Eigenschaft ändern. Siehe der Systemprozedur sa_user_defined_counter_add. Siehe sa_user_defined_counter_add-Systemprozedur.
Sie müssen ein Upgrade Ihrer Datenbank ausführen, um auf diese gespeicherte Prozedur zugreifen zu können.
Neue sa_user_defined_counter_set-Systemprozedur Mit der Systemprozedur sa_user_defined_counter_set können Sie den Wert einer benutzerdefinierten Eigenschaft festlegen. Siehe sa_user_defined_counter_set-Systemprozedur.
Sie müssen ein Upgrade Ihrer Datenbank ausführen, um auf diese gespeicherte Prozedur zugreifen zu können.
SQLANYSAMP12-Umgebungsvariable Das Installationsprogramm für Unix und Mac OS X setzt nun die SQLANYSAMP12-Umgebungsvariable in den Skripten sa_config und sample_config. Unter Unix kann das Skript sample_config verwendet werden, um eine Kopie der Beispiele pro Benutzer zu erstellen. Diese Option ist bei einer Mehrbenutzer-Installation sinnvoll. Bei Einbenutzer-Installationen setzt das Skript sa_config SQLANYSAMP12 auf $SQLANY12/samples. Siehe SQLANYSAMP16-Umgebungsvariable und sa_config.sh und sample_config32.sh/sample_config64.sh sourcen [Unix und Mac OS X] .
IN-Parameter vom Datentyp LONG VARCHAR, LONG BINARY und LONG NVARCHAR sind nun in entfernten Prozeduraufrufen zulässig Ein entfernter Prozeduraufruf kann nun IN-Parameter vom Datentyp LONG VARCHAR, LONG NVARCHAR und LONG BINARY enthalten. Außerdem sind Parameter vom Datentyp VARCHAR, NVARCHAR oder BINARY nicht mehr auf 255 Byte beschränkt. Siehe Erstellen von entfernten Prozeduren (Sybase Central).
USING-Klausel der CREATE SERVER-Anweisung kann nun Variablen enthalten Die USING-Klausel der CREATE SERVER-Anweisung kann jetzt Variablen enthalten. Diese Funktion gestattet es dem Benutzer, dynamische Ferndatenzugriffsserver zu erstellen. Siehe CREATE SERVER-Anweisung.
Ferndatenzugriff kann den SQL Anywhere ODBC-Treiber direkt laden Sie können einen Fremdserver definieren, damit der Ferndatenzugriff den SQL Anywhere-Treiber direkt lädt und den ODBC-Treibermanager auf Windows- und Unix-Plattformen umgeht. Verwenden Sie beim Definieren des Fremdservers die folgende Syntax, gefolgt vom Rest der Verbindungszeichenfolge:
CREATE SERVER remote-server CLASS 'SAODBC' USING 'DRIVER=SQL Anywhere Native;...'; |
Wenn mehrere SQL Anywhere-Fremdserver ohne 'DRIVER=SQL Anywhere Native'
definiert sind, dann verwendet der Ferndatenzugriff immer noch einen Treibermanager für die anderen Fremdserver.
AT-Klausel der Anweisungen CREATE EXISTING TABLE und CREATE PROCEDURE kann nun Variablen enthalten Die AT-Klausel für die Anweisungen CREATE EXISTING TABLE und CREATE PROCEDURE können nun Variablen enthalten. Diese Funktion gestattet es dem Benutzer, eine Proxy-Tabelle oder Proxy-Prozedur mehreren entfernten Tabellen und Prozeduren zuzuordnen. Siehe CREATE EXISTING TABLE-Anweisung und CREATE PROCEDURE-Anweisung.
Erweiterung der RAISERROR-Klausel der Anweisungen MERGE und RAISERROR Mit der RAISERROR-Anweisung erlaubt es der SQL Anywhere-Datenbankserver einer Anwendung, einen benutzerdefinierten Fehler auszulösen. Der Datenbankserver stellt auch die integrierte, globale Variable SQLCODE bereit, deren Wert geprüft werden kann, um zu ermitteln, welcher Fehler während der Ausführung der letzten Anweisung auf der aktuellen Verbindung ausgelöst wurde. Der Datenbankserver meldet nun die benutzerdefinierte Fehlernummer für SQLCODE anstelle einer festen Fehlermeldung von -631. Siehe MERGE-Anweisung und RAISERROR-Anweisung.
VALIDATE TEXT INDEX-Anweisung Sie können mit der VALIDATE TEXT INDEX-Anweisung überprüfen, ob die Positionsdaten für die Begriffe im Textindex intakt sind. Falls die Positionsdaten beschädigt sind, wird ein Fehler generiert. Siehe VALIDATE-Anweisung.
Erweiterte Syntax für die Klauseln TOP und LIMIT
Die Klauseln TOP { ALL | limit } START AT startat
und LIMIT limit [ OFFSET offset ]
unterstützen nun einfache arithmetische Ausdrücke für die Argumente limit, offset und startat. TOP unterstützt die Grenze ALL, die anzeigt, dass alle Zeilen nach dem unter startat angegebenen Wert zurückgegeben werden sollen. Der Höchstwert für ( limit + offset ) und ( limit + startat -1 ) wurde auf 9223372036854775807 = 2^64-1 erhöht.
Siehe:
SQL Anywhere OLE DB-Provider unterstützt nun den DBTYPE_DBTIMESTAMPOFFSET-Datentyp Der SQL Anywhere OLE DB-Provider unterstützt nun den DBTYPE_DBTIMESTAMPOFFSET-Datentyp. DBTYPE_DBTIMESTAMPOFFSET (146) ist ein OLE DB-Typ, der den Datentyp TIMESTAMP WITH TIME ZONE (oder DATETIMEOFFSET) unterstützt. Die Unterstützung für diesen Datentyp erleichtert die Übertragung von Datentabellen zwischen SQL Anywhere-Datenbanken und anderen Datenbank-Managementsystemen (einschließlich SQL Anywhere).
Webdienste unterstützt nun eine verbesserte Kontrolle des HTTP-Umleitungsvorgangs Die neue SET REDIR-Klausel der Anweisungen CREATE PROCEDURE und CREATE FUNCTION ermöglicht die Kontrolle der maximalen Anzahl von zulässigen Umleitungen und legt fest, welche HTTP-Statusangaben automatisch umgeleitet werden sollen.
Eine Webdienstprozedur, die eine POST HTTP-Methode festlegt und den Status 303 empfängt, gibt mit der GET HTTP-Methode eine Umleitungsanforderung aus.
HTTP-Clientprozeduren verarbeiten nun Umleitungen mit relativen Pfaden. Zuvor waren Umleitungen nur erfolgreich, wenn der Server eine absolute URL bereitstellte.
Eine GET-Methode, die eine Umleitung empfängt, stellt nur die Abfragekomponente bereit, die von der URL des Location-Header der Umleitungsantwort angegeben wurde. Eine POST-Methode, die eine Umleitung empfängt, gibt eine Anforderungs-URL mit dem Pfad und den Abfragekomponenten aus, die vom Location-Header der Umleitungsantwort angegeben wurde. Der Hauptteil enthält die von der Prozedur generierte Abfragekomponente.
Abfrageparameter können nun sowohl in der URL-Klausel als auch in Parametern (automatisch generiert) angegeben werden, die einer Prozedur übergeben werden. Dies gilt nur für Prozeduren, die eine GET HTTP-Methode angeben.
Sichere Webdienste nun unter Windows Mobile unterstützt Webdienst-Prozeduren, die HTTPS und HTTPS_FIPS verwenden, werden nun unter Windows Mobile unterstützt.
SQL Anywhere-JDBC-Treiber unterstützt nun PreparedStatement.setClob() Der SQL Anywhere-JDBC-Treiber unterstützt nun PreparedStatement.setClob().
In früheren Versionen stellte der SQL Anywhere-JDBC-Treiber Unterstützung für PreparedStatement.setBlob, ResultSet.getBlob und ResultSet.getClob bereit. Der SQL Anywhere-JDBC-Treiber unterstützt jetzt zwei der drei PreparedStatement.setClob-Methoden. Diese werden nachfolgend aufgelistet.
PreparedStatement.setClob( int parameterIndex, Clob x ) PreparedStatement.setClob( int parameterIndex, Reader reader, long length ) |
Die folgende Variante wird nicht vom SQL Anywhere-JDBC-Treiber unterstützt.
PreparedStatement.setClob( int parameterIndex, Reader reader ) |
Bei der Verwendung der PreparedStatement.setClob( int parameterIndex, Clob x )
-Überladung muss die benutzerdefinierte Clob-Implementierung die Clob.length- und Clob.getCharacterStream-Methode unterstützen.
Auch bei großen Zeichenfolgen und umfangreichen Zeichendatenströmen sind die neuen PreparedStatement.setClob-Methoden innerhalb
des SQL Anywhere-JDBC-Treibers den PreparedStatement.setString- und PreparedStatement.setCharacterStream-Methoden sowohl in
Bezug auf Performance als auch auf Speichernutzung vorzuziehen. Siehe JDBC-Unterstützung.
Java VM ClassLoader von SQL Anywhere unterstützt nun Shutdown-Hooks Der Java VM ClassLoader von SQL Anywhere, der zur Bereitstellung von Unterstützung für Java in der Datenbank dient, ermöglicht es Anwendungen, Shutdown-Hooks zu installieren. Siehe Shutdown-Hooks in der Java VM.
.NET SetupVSPackage-Installationsprogramm von SQL Anywhere Die SetupVSPackage-Anwendung führt nun mehrere Installationsprogrammfunktionen aus, wie z.B. die Aktualisierung des Global Assembly Cache und der Microsoft Windows .NET-Datei machine.config. Wenn SQL Server 2008 oder höher auf dem System installiert ist, installiert SetupVSPackage auch zwei Zuordnungsdateien namens MSSqlToSA.xml und SAToMSSql10.xml im SQL Server-Ordner DTS\MappingFiles. Siehe Deployment eines .NET Clients.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |