远程Sybase数据库技术支持,联系手机:13811580958,QQ:289965371!

 

随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
考虑到Sybase数据库的初学者或者没有购买原厂服务的Sybase客户情况,现提供SAP ASE/IQ/RS/SDK/SQL Anywhere/PB等产品的BUG信息。
在SAP Support Portal网站或者google上搜索Targeted CR List for ASE,可以看到针对不同版本的CR(CR表示Change Request)简单描述信息列表。
需要注意的是:Targeted CR List for ASE列出的CR虽然绝大多数是BUG,但有一些是更改需求。
以下提供SAP ASE/IQ/RS/SDK/SQL Anywhere/PB等产品的BUG信息!

如有问题,请联系我!

QQ :289965371 点击这里给我发消息
Email:
不仅仅包括BUG的详细描述信息,还包括首次报告BUG的平台、数据库版本以及BUG修复历史过程;有些BUG还提供了Workaround来临时解决该BUG带来问题。

 

CR:404188
CR Number:   404188
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1831 20 Sep 2005 Fixed
9.0.2 3191 20 Sep 2005 Fixed
Description
Calling the function connection_property( 'UncommitOps', conn_num ) could have returned a value greater than 4 billion if conn_num referred to an internal connection of a database which was currently being started. This has been fixed so that 0 is now reported in this case.



Note, the value greater than 4 billion could have caused an out of range error if used with the procedure sa_conn_info.



CR:404251
CR Number:   404251
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1832 20 Sep 2005 Fixed
9.0.2 3192 20 Sep 2005 Fixed
Description
If the execution of a BACKUP statement failed, the next time the database did a checkpoint the server would have failed with the following error:



Assertion failed: 108001 (9.0.2.3182) Attempting checkpoint while backup active



A flag indicating that a backup was in progress was not being reset if the backup failed. This has been corrected.
Workaround Description
 None



CR:404280
CR Number:   404280
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1832 20 Sep 2005 Fixed
9.0.2 3192 20 Sep 2005 Fixed
Description
If server was shutdown, or crashed while the debugger was in use, Sybase Central may have become very slow. This has been fixed.



CR:404290
CR Number:   404290
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1837 26 Sep 2005 Fixed
9.0.2 3196 26 Sep 2005 Fixed
9.0.1 2073 26 Sep 2005 Fixed
8.0.3 5303 26 Sep 2005 Fixed
Description
A stored procedure call that included the owner name would have failed when using ADO and the SQL Anywhere OLE DB provider. The following is an example using Visual Basic:



' Set CommandText equal to the stored procedure name.

objCmd.CommandText = "fred.ShowSalesOrderDetail"

objCmd.CommandType = adCmdStoredProc

objCmd.ActiveConnection = objConnection



A couple of problems arose when using this form of the stored procedure call. Internally, the OLE DB provider uses a SQL query to obtain information on the number of parameters to the stored procedure. It asked for information on a procedure name called "fred.ShowSalesOrderDetail" and there was no such procedure name since the owner name had not been separated from the procedure name. This problem has been fixed.



The second problem involved using the ADO parameter "Refresh" method as shown below in a Visual Basic example:



' Automatically fill in parameter info from stored procedure.

' This avoids having to do CreateParameter calls.

objCmd.Parameters.Refresh



The problem is related to the way ADO interprets the components of the stored procedure name. There are three basic forms recognized by ADO.



1. ProcedureName

2. Owner.Catalog

3. Owner.ProcedureName.Catalog



Here is how ADO interprets these forms.



The first form is what is most often used. When only a name appears (no qualifiers), it is interpreted to be the procedure name. This form poses no problems.



When the second form is used (two names separated by a period), the first name is assumed to be the owner name and the second name is assumed to be the catalog name. SQL Anywhere doesn't support the notion of catalogs. When the Refresh method is called, the OLE DB provider is presented with the following query by ADO.



EXECUTE sa_oledb_procedure_parameters inProcedureCatalog='Catalog',inProcedureSchema='Owner'



This query from ADO is meaningless to the SQL Anywhere OLE DB provider, as the procedure name is missing. ADO has interpreted the two components as a schema name (the owner) and a catalog name. The query returns information on all procedures owned by "Owner" which is of no use.



When the third form is used, the first name is assumed to be the owner name, the second name is assumed to be the procedure name. and the third name is assumed to be the catalog name. When the Refresh method is called, the OLE DB provider is presented with the following query by ADO.



EXECUTE sa_oledb_procedure_parameters inProcedureCatalog='Catalog',inProcedureSchema='Owner',inProcedureName='ProcedureName'



Since the procedure name and owner are present and since the catalog name is ignored by the OLE DB provider, this query will return the correct information about the procedure parameters. However, the actual procedure call will result is a syntax error since "call Owner.ProcedureName.Catalog" is not an acceptable form for a stored procedure call.



These problems can be avoided by not using the ADO "Refresh" method and, also, by avoiding the use of the three-part syntax. The best solution is to avoid the use of an owner qualification entirely since the "X.Y" form is misinterpreted by ADO.



CR:404321
CR Number:   404321
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1832 21 Sep 2005 Fixed
9.0.2 3192 21 Sep 2005 Fixed
Description
If an Adaptive Server Enterprise database was used as a QAnywhere server's consolidated database, and QAnywhere groups were created, any messages directed at the groups would have queued up, but would never have been delivered. This is now fixed, so that messages directed to groups will be delivered. Any messages queued up before this fix will also be delivered.



CR:404331
CR Number:   404331
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1827 21 Sep 2005 Fixed
9.0.2 3190 21 Sep 2005 Fixed
Description
The QAnywhere client library could crash in any of these methods: Commit() or Rollback() of QATransactionalManager; Acknowledge(QAMessage msg) or AcknowledgeUntil(QAMessage msg) or AcknowledgeAll() of QAManager. This has been fixed.



CR:404396
CR Number:   404396
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1972 10 Jan 2006 Fixed
9.0.2 3249 10 Jan 2006 Fixed
9.0.1 2120 10 Jan 2006 Fixed
8.0.3 5347 10 Jan 2006 Fixed
Description
The server could have gone into an infinite loop while performing operations on a database corrupted in a certain way. Validation of the database may or may not have experienced the same behaviour. The server will now fail with "Assertion 202101: Invalid bitmap links on page 0x%x" when such a condition is encountered.



CR:404437
CR Number:   404437
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3194 21 Sep 2005 Fixed
Description
The QAnywhere Central utility was not displaying the clients tree display in sorted order, so finding a particular client in a list of any size was difficult. With this fix, the clients are sorted by name.



CR:404448
CR Number:   404448
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3194 22 Sep 2005 Fixed
9.0.1 2071 22 Sep 2005 Fixed
8.0.3 5302 22 Sep 2005 Fixed
Description
When connected to an Adaptive Server Enterprise server whose version was greater than or equal to 12.5.1, the MobiLink Synchronization Server could have uploaded incorrect data from ASA TIME columns into ASE DATETIME columns when a cursor-based upload was used. The date part of the uploaded rows in the ASE database would have been the current date, instead of '1900-01-01'. This problem is now fixed.



CR:404450
CR Number:   404450
Product Name:   SQL Remote for SQL Anywhere
Product Component:   SQL Remote for Adaptive Server Anywhere
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 5311 17 Oct 2005 Fixed
9.0.1 2081 17 Oct 2005 Fixed
9.0.2 3206 17 Oct 2005 Fixed
10.0.0 1860 17 Oct 2005 Fixed
Description
If dbremote were forced to retry an operation that involved a long varchar or long binary, then dbremote would have reported an error in the dbremote log similar to "There is already a variable named 'n1'". Dbremote will no longer report this error.



CR:404622
CR Number:   404622
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3195 23 Sep 2005 Fixed
Description
When 9.0.1 QAnywhere clients synchronized messages with 9.0.2 QAnywhere servers, the performance may have been poor, especially under load situations. Checking the QAnywhere server log would have likely shown multiple "Deadlock" errors. Although these deadlock errors did not affect correct message delivery, the deadlocks were forcing the clients to re-synchronize until there were nolonger deadlock errors. This has been fixed, so that the deadlocks will no longer occur, and performance under load situations will improve.



CR:404767
CR Number:   404767
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1837 26 Sep 2005 Fixed
9.0.2 3196 26 Sep 2005 Fixed
9.0.1 2073 26 Sep 2005 Fixed
8.0.3 5303 26 Sep 2005 Fixed
Description
If an INSERT...SELECT was executed, such that the table being inserted into was in a publication and the table being selected from was a proxy table, then it was possible that the statement would have failed with unnexpected errors. The most likely error was a "conversion error", but any number of errors could have been returned. The problem has now been fixed.



CR:404908
CR Number:   404908
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1837 26 Sep 2005 Fixed
9.0.2 3196 26 Sep 2005 Fixed
9.0.1 2073 26 Sep 2005 Fixed
8.0.3 5303 26 Sep 2005 Fixed
Description
A memory leak in the OLE DB provider associated with calling stored procedures has been fixed.



CR:404915
CR Number:   404915
Product Name:   UltraLite
Product Component:   UltraLite Schema Painter
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3196 26 Sep 2005 Fixed
Description
When using the UltraLite Schema Painter, it was not possible to define a Numeric column as autoincrement. An error dialog would have been displayed, stating that the default was not compatible with the type of the column. The Schema Painter was missing Numeric from its list of valid autoincrement column datatypes. This has been corrected.
Workaround Description
 Use an integer



CR:405060
CR Number:   405060
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1838 29 Sep 2005 Fixed
9.0.2 3198 29 Sep 2005 Fixed
9.0.1 2074 29 Sep 2005 Fixed
8.0.3 5304 29 Sep 2005 Fixed
Description
When Connection Lifetime was specified in a connection, the connection duration would have been incorrect. This has been fixed so that the behaviour is as follows:

- If the time span exceeds the value specified by Connection Lifetime, the connection will be destroyed when it is closed.

- If the time span does not exceed the value specified by Connection Lifetime, the connect will be returned to the pool when it is closed.



CR:405103
CR Number:   405103
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 5307 29 Sep 2005 Fixed
Description
An outer hash join could have failed to return rows that should have been generated from a preserved row that had no matching row from the null-supplied table. In order for this problem to occur, the following conditions must have been met:



- An outer hash join operator was used in the query execution plan

- The build input to the hash join was larger than would fit into memory

- Further, the order of rows had to match a particular set of conditions, and memory usage in the rest of the query plan had to match a particular state



When the problem appeared, the set of missed rows would vary depending on current server state. This problem has been fixed.



CR:405321
CR Number:   405321
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1840 30 Sep 2005 Fixed
9.0.2 3198 30 Sep 2005 Fixed
9.0.1 2074 30 Sep 2005 Fixed
8.0.3 5304 30 Sep 2005 Fixed
Description
An attempt to insert a value into a SQL TINYINT column declared as adTinyInt, that was greater than 128, would have failed with the error "Count field incorrect". Unfortunately, this message did not clearly indicate where the problem occurred. The ADO adTinyInt type (DBTYPE_I1) includes numbers in the range -128 to 127. A value like 255, which is outside of this range, cannot be converted to an adTinyInt. The ASA TINYINT type corresponds to an unsigned 1-byte integer, which matches the ADO adUnsignedTinyInt type (DBTYPE_UI1). This type accepts values in the range 0 to 255. The conversion error that results from trying to convert a value like 255 to an adTinyInt type is now properly reported as "Cannot convert parameter X to a DBTYPE_I1" where X is the index of the parameter to the INSERT statement.



CR:405360
CR Number:   405360
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   7.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1841 29 Sep 2005 Fixed
9.0.2 3199 29 Sep 2005 Fixed
9.0.1 2074 29 Sep 2005 Fixed
8.0.3 5304 29 Sep 2005 Fixed
Description
If a value longer than 255 bytes was passed to a MobiLink client hook procedure, through the #hook_dict table, then the MobiLink client could have become unstable. This may have occurred when a communications address longer than 255 bytes was specified, there was a failure connecting to the Mobilink server, and there was an sp_hook_dbmlsync_ml_connect_failed hook defined. This has now been fixed.



CR:405375
CR Number:   405375
Product Name:   SQL Remote for SQL Anywhere
Product Component:   SQL Remote for Adaptive Server Anywhere
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 5304 30 Sep 2005 Fixed
9.0.1 2074 30 Sep 2005 Fixed
9.0.2 3199 30 Sep 2005 Fixed
10.0.0 1841 30 Sep 2005 Fixed
Description
If the sending phase of the SQL Remote Message Agent was the victim of a deadlock, it could have crashed. Note that in order for the sending phase of dbremote to have been the victim of deadlock, it would have to have been in the process of satisfying multiple SYNCHRONIZE SUBSCRIPTION commands, and the send and receive phases of would have had to be running on separate dbremote processes. The Message Agent will no longer crash in this situation, but will now report that the sending of messages has failed and will shut down as expected.



CR:405389
CR Number:   405389
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3371 06 Sep 2006 Fixed
Description
Calling a procedure using Transact-SQL EXECUTE syntax, and passing a subquery as one of the parameters, could have caused a server crash. Attempt to pass a subquery as a parameter will now result in a syntax error when using Transact-SQL syntax for the call. This is the behaviour when using Watcom-SQL syntax..



CR:405397
CR Number:   405397
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Windows CE 2.11
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1848 06 Oct 2005 Fixed
9.0.2 3199 06 Oct 2005 Fixed
9.0.1 2077 06 Oct 2005 Fixed
8.0.3 5309 06 Oct 2005 Fixed
Description
When run on Windows CE devices, the server was not have recognising the registry setting to change the location of the temporary folder. This has been fixed, so that temporary files may now be moved to a storage card.



CR:405516
CR Number:   405516
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1843 30 Sep 2005 Fixed
9.0.2 3199 30 Sep 2005 Fixed
Description
The server could have crashed, or failed an assertion, when doing a REORGANIZE TABLE on the tables rows. A work around is to lock the table exclusively WITH HOLD before doing the reorganize.



CR:405588
CR Number:   405588
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1843 03 Oct 2005 Fixed
9.0.2 3199 03 Oct 2005 Fixed
Description
The QAnywhere Agent could have caused the MobiLink client to crash under the following circumstances:

- a failover server was specified with a second -x option,

- the communication address of the failover server [as in -x tcpip(<communication address>)] was longer than 255 characters, and

- communication with the primary server failed, causing an attempt to synchronize with the failover server.



This has been fixed. The problem is related to Engineering Case 405360.



CR:405597
CR Number:   405597
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1846 03 Oct 2005 Fixed
9.0.2 3199 03 Oct 2005 Fixed
9.0.1 2076 03 Oct 2005 Fixed
Description
The MobiLink server would have failed to start if the Notifier properties stored in the database contained empty SQL statements. This problem has been fixed.



CR:405626
CR Number:   405626
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3271 12 Oct 2006 Fixed
10.0.0 2728 12 Oct 2006 Fixed
9.0.2 3388 12 Oct 2006 Fixed
Description
The database server could have stopped writing to the console log file if the file could not be opened after being renamed due to growing to its maximum size. One cause for this would be a virus scanner which scans files immediately after they are modified. This has been fixed so that logging to the file will continue once the file can be opened again. There is a chance that some messages may not be logged if this occurs.



CR:405631
CR Number:   405631
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1850 12 Oct 2005 Fixed
9.0.2 3200 12 Oct 2005 Fixed
Description
If a transaction spanned more than two transaction logs, and these logs were applied to a copy of the original database, an error "<log_file> is an invalid transaction log" could result. This has been fixed. The original transaction logs and database are valid; however, the database produced by applying the logs using a server without this fix may be missing transactions.
Workaround Description
 None obvious from the context



CR:405704
CR Number:   405704
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   5.5.05
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3864 07 Feb 2007 Fixed
Description
A statement that contained a subselect with more than one column, should have generated the error: "Subquery allowed only one select list item" (SQLCODE -151, SQLSTATE 53023). If the subselect was coded using a single '*' or 'T.*' in the select list, the error was not given. For example, the following should give an error:

select *

from dummy

where dummy_col = (select * from department where dept_id < 200 )

When the error was not given though, the extra columns were ignored. This has been fixed.



CR:405724
CR Number:   405724
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3199 04 Oct 2005 Fixed
9.0.1 2076 04 Oct 2005 Fixed
Description
All of the menus in the menu bar could have become disabled on Mac OS X 10.4.2. This did not happen in earlier OS X versions. This has now been fixed.



CR:405887
CR Number:   405887
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 25 Jan 2007 Fixed
9.0.2 3199 06 Oct 2005 Fixed
Description
The server could have generated inaccurate selectivity estimates for predicates involving comparisons on a NUMERIC column when the value being used for comparison had a different scale than that of the column. This problem has been resolved.



CR:405913
CR Number:   405913
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1848 06 Oct 2005 Fixed
9.0.2 3199 06 Oct 2005 Fixed
9.0.1 2077 06 Oct 2005 Fixed
9.0.2 12 Oct 2005 Presently Not Targeted For Any Future Release Of This Product
Description
When using Dynamic SQL, erroneous results could have been produced if the SUBSTRING() function was called with negative lengths. This has been corrected.



CR:405965
CR Number:   405965
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3207 20 Oct 2005 Fixed
Description
When installed on non-English Windows systems, the managed provider components (Adapter, Connection, Command) were not displayed in Visual Studio's toolbar tab correctly, along with the rest of the Data Components. This has now been fixed.



CR:405988
CR Number:   405988
Product Name:   UltraLite
Product Component:   UltraLite for M-Business Anywhere
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3272 22 Feb 2006 Fixed
Description
UltraLite for M-Business Anywhere now supports ECC (Elliptic curve cryptography) for TLS (Transport Layer security). Both UltraLite for M-Business Anywhere pod (ulpod9.dll) and One-Button-Sync (ulconnect.exe) now support ECC over TCPIP or HTTP as synchronization stream types.



To use this new feature, users will need to have a valid Certicom ECC license, as well as ECC client and server certificates. New properties and methods have been added to the SyncParms pods object to support the new synchronization stream types.



* PODS Constant: UInt32 STREAM_TYPE_ECC_TCPIP - select this value for the SyncParms.setStream() method when synchronizing via TCPIP over ECC transport-layer security.



* PODS Constant: UInt32 STREAM_TYPE_ECC_HTTP - select this value for the SyncParms.setStream() method when synchronizing via HTTP over ECC transport-layer security. Note, this is NOT the same as HTTPS.



* PODS Method: setSecurityParms( String v ) - Sets the options required when using ECC transport-layer security. This method is relevant only when the sync stream type is set to be ECC_TCPIP or ECC_HTTP. A detailed explanation of this parm string can be found in the MobiLink documentation: MobiLink Clients -> UltraLite Synchronization Parameters -> Synchronization parameters -> Security Parameters synchronization parameter.



* PODS Method: String getSecurityParms() - Gets the option string for ECC security.



The UltraLite for M-Business Anywhere samples, Simple and CustDB, have been updated to demonstrate the use of these new methods and constants.



CR:406017
CR Number:   406017
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1849 11 Oct 2005 Fixed
9.0.2 3200 11 Oct 2005 Fixed
Description
Use of TOP n START AT m could have caused a server crash when used later in a query plan, following certain operators. These operators include all of the hash operators, the window operator, and the sortmerge operator. This has been fixed.



CR:406030
CR Number:   406030
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1850 18 Oct 2005 Fixed
9.0.2 3200 07 Oct 2005 Fixed
9.0.1 2077 07 Oct 2005 Fixed
8.0.3 5309 07 Oct 2005 Fixed
Description
The server could have crashed when referencing a variable declared as a VARBINARY of unspecified length. This has been fixed.



CR:406093
CR Number:   406093
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1850 11 Oct 2005 Fixed
9.0.2 3200 11 Oct 2005 Fixed
Description
Calling the Information utility with -u option "output page usage statistics", could have caused a server crash if there was a table in the database with a long name.



CR:406125
CR Number:   406125
Product Name:   SQL Remote for SQL Anywhere
Product Component:   SQL Remote for Adaptive Server Anywhere
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 5307 07 Oct 2005 Fixed
9.0.1 2078 07 Oct 2005 Fixed
9.0.2 3200 07 Oct 2005 Fixed
10.0.0 1850 12 Oct 2005 Fixed
Description
If the sending and receiving phases of dbremote were being run in separate dbremote processes, and the sending phase was processing a SYNCHRONIZE SUBSCRIPTION request, it was possible for the two phases of dbremote to deadlock, resulting in the sending phase being rolled back. The sending phase of dbremote will now lock all the tables that are about to be synchronized if it detects that the receiving phase of dbremote is also active. If the sending phase fails to acquire the table locks, it will attempt to get the locks 5 times, with a increasing delay between each attempt ( 100ms, 200ms, 400ms, 800ms). If all five attempts to acquire the locks fail, the sending phase will attempt to process the SYNCHRONIZE SUBSCRIPTION without acquiring the locks, which could still result in a deadlock. To further reduce the possibility of deadlock, the receiving phase of dbremote should run with "-g 1" to prevent the grouping of transactions.



CR:406421
CR Number:   406421
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1855 11 Oct 2005 Fixed
9.0.2 3202 12 Oct 2005 Fixed
Description
If a checkpoint was initiated while a backup was in progress, the changes made for Engineering Case 400911 would have prevented subsequent commits from completing until the backup had finished. The server now allows requests attempting to suspend checkpoints to progress if there is a transaction already suspending checkpoints as a result of a backup or other such operation.



CR:406432
CR Number:   406432
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1854 12 Oct 2005 Fixed
9.0.2 3202 12 Oct 2005 Fixed
Description
During periods of heavy server load, or substantial cache pressure, the server could have appeared to stop processing active requests. This was more likely to occur during very heavy disk I/O, and when issuing DDL statements alongside connections that had created, and were dropping, string variables which contained long string values. Although these active requests appeared to hang, they would eventually complete, taking an arbitrarily long time. This has been fixed.



CR:406441
CR Number:   406441
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1869 12 Oct 2005 Fixed
9.0.2 3207 12 Oct 2005 Fixed
9.0.2 31 Oct 2005 Not reproducible with latest version of the product available as of Resolution Date
Description
If two or more QAnywhere servers were started using the same consolidated database, the JMS connectors in the multiple instances may have produced duplicates messages. That is, if a QAnywhere message was sent to a JMS destination via a JMS connector, it was possible that each instance of the JMS connector would have read the QAnywhere message and produced a corresponding JMS message. This has now been fixed so that the potential source of duplicate messages has been removed.



CR:406488
CR Number:   406488
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1854 13 Oct 2005 Fixed
9.0.2 3204 13 Oct 2005 Fixed
Description
The server was incorrectly assessing NULL selectivity when used with a descending index. When examining an index to determine selectivity, the server assumed that NULLs were at the start of the index. In a descending index, they are at the end. This assumption has been corrected.



CR:406557
CR Number:   406557
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1854 13 Oct 2005 Fixed
9.0.2 3202 13 Oct 2005 Fixed
Description
The QAnywhere client library's GetMessage methods could have returned inconsistent data when there were at least two originating clients sending messages to one receiver client,

and there was a high rate of messages being delivered to the receiver client, resulting in several synchronizations per second. In this scenario it was possible that message properties or content obtained from a given QAMessage through the QAnywhere client API methods, may not have been correct, even though the messages were stored correctly in the message store database. This has been fixed.



CR:406567
CR Number:   406567
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1855 12 Oct 2005 Fixed
9.0.2 3202 12 Oct 2005 Fixed
9.0.1 2080 12 Oct 2005 Fixed
Description
The server could have crashed while executing a stored procedure that was called from another stored procedure. This has been fixed.



CR:406574
CR Number:   406574
Product Name:   UltraLite
Product Component:   UltraLite Engine
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3207 18 Oct 2005 Fixed
9.0.1 2082 18 Oct 2005 Fixed
9.0.1 19 Oct 2005 Not reproducible with latest version of the product available as of Resolution Date
Description
Dynamic SQL applications could have crashed when a nullable column participates in an index optimization, and the predicate involved a host variable.



For example,

SELECT name from Table where name < ? (name starts an ascending index)

SELECT name from Table where name > ? (name starts a descending index)



This has been corrected.



CR:406730
CR Number:   406730
Product Name:   UltraLite
Product Component:   UltraLite.NET
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3204 14 Oct 2005 Fixed
Description
The Synchronization observer ( iAnywhere.Data.UltraLite.ULSyncProgressListener.syncProgressed() ) was invoked for every row during a synchronization. This caused increased overhead and slowed the synchronization, particularly when using higher-level components such as UltraLite.NET. The observer behaviour has been changed to issue a maximum of 2 callbacks per second while in the sending data or receiving data states.



CR:406745
CR Number:   406745
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1856 14 Oct 2005 Fixed
9.0.2 3204 14 Oct 2005 Fixed
Description
Executing DDL statements with incorrectly formed object names would have made the transaction log unrecoverable.

For example, if a statement such as:

ALTER TABLE DBA..T ADD c2 INT

was executed, the resulting transaction log would contain an invalid statement and recovery using the log would fail. This has been fixed so that when a statement such as the one above is executed, it will now result in a valid statement being recorded in the transaction log.



CR:406753
CR Number:   406753
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1860 18 Oct 2005 Fixed
9.0.2 3206 18 Oct 2005 Fixed
Description
If the server could not allocate the database cache, the server would likely crash at startup. For example, starting a server with "-c 4800m" would have caused the server to crash. This has been fixed.



CR:406765
CR Number:   406765
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1857 17 Oct 2005 Fixed
9.0.2 3206 17 Oct 2005 Fixed
9.0.1 2081 17 Oct 2005 Fixed
8.0.3 5311 17 Oct 2005 Fixed
Description
Database recovery could have failed with assertion 201501 "Page for requested record not a table page or record not present on page". The problem would only have occurred in the event of the database server not shutting down cleanly while dbremote replication was taking place. It would also have been required that another connection revoked CONNECT or REMOTE from the remote user for which the transactions were being replicated. This has been fixed so that connections attempting to revoke permissions from the user for which replication is currently occurring will now receive an error indicating that the operation is "Not allowed while user 'user_name' is actively replicating transactions". The connection attempting to REVOKE permissions will need to wait until replication completes (commit/rollback) before being able to revoke the permissions.



CR:406845
CR Number:   406845
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3204 14 Oct 2005 Fixed
9.0.1 2080 14 Oct 2005 Fixed
8.0.3 5311 14 Oct 2005 Fixed
Description
A new character set conversion mapping table has been added to provide Microsoft-compatible conversion to and from CP932 (Japanese). In the existing mapping table, <install>\charsets\unicode\cp932ms.uct, certain characters that appear more than once in CP932 map differently from Microsoft conversion functions. By copying the new file, cp932ms3.uct, over cp932ms.uct, mappings will be 100% compatible with the Microsoft mappings. The affected characters in CP932 are 81CA, 8754-875D, 8782, 8784, 878A, EEF9, FA4A-FA54, FA58-FA5A. As noted, for these characters, the same Japanese characters occur as two different character codes in the character set.



It is important that this file be copied over cp932ms.uct before any use of a database in the environment. In particular, it is recommended that this file copy occur immediately after deploying Adaptive Server Anywhere and a database and prior to running an application against the database. If the file copy occurs after the database has been in use, the altered character mappings may cause data values to change, even though the appearance of the characters remains unchanged. In a synchronization environment, these data changes may cause unexpected errors.



CR:406857
CR Number:   406857
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1857 14 Oct 2005 Fixed
9.0.2 3205 14 Oct 2005 Fixed
9.0.1 2081 14 Oct 2005 Fixed
8.0.3 5311 14 Oct 2005 Fixed
Description
If a query like "SELECT TOP 5 * FROM T" was executed without an ORDER BY clause, the server would normally return a warning stating that "the result returned is non-deterministic." For Open Client applications, this warning is now nonger returned.



CR:406885
CR Number:   406885
Product Name:   UltraLite
Product Component:   Native UltraLite for Java
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3204 14 Oct 2005 Fixed
Description
The Synchronization observer ( ianywhere.ultralite.SyncProgressListener.syncProgressed() ) was invoked for every row during a synchronization. This caused increased overhead and slowed the synchronization, particularly when using higher-level components such as Native UltraLite for Java. The observer behaviour has been changed to issue a maximum of 2 callbacks per second while in the sending data or receiving data states.



CR:406890
CR Number:   406890
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3201 17 Oct 2005 Fixed
14 Oct 2005 Presently Not Targeted For Any Future Release Of This Product
Description
A call to the ULSynchronize() could have caused stack corruption if an error occurred and synch_info.stream_error.error_string was not NULL but synch_info.stream_error.error_string_length was 0. This has been fixed.



CR:406894
CR Number:   406894
Product Name:   UltraLite
Product Component:   UltraLite for AppForge MobileVB
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3203 14 Oct 2005 Fixed
Description
When the Synchronize() method was called with an observer function, a callback was invoked for every row during a synchronization. This caused increased overhead and slowed the synchronization, particularly when using higher-level components such as UltraLite for MobileVB. The observer behaviour has been changed to issue a maximum of 2 callbacks per second while in the sending data or receiving data states.



CR:406895
CR Number:   406895
Product Name:   UltraLite
Product Component:   UltraLite for eMbedded Visual Basic
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3204 14 Oct 2005 Fixed
Description
When the Synchronize() method was called with an observer function, a callback was invoked for every row during a synchronization. This caused increased overhead and slowed the synchronization, particularly when using higher-level components such as UltraLite ActiveX. The observer behaviour has been changed to issue a maximum of 2 callbacks per second while in the sending data or receiving data states.



CR:406904
CR Number:   406904
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1861 18 Oct 2005 Fixed
9.0.2 3207 18 Oct 2005 Fixed
9.0.1 2082 18 Oct 2005 Fixed
8.0.3 5311 18 Oct 2005 Fixed
Description
If the Translation utility was used with the command line option -it "specify table names to include in output", it would have crashed when the transaction log file contained transactions that continue from the previous transaction log file. This has now been

fixed.
Workaround Description
 None



CR:406913
CR Number:   406913
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3206 17 Oct 2005 Fixed
Description
The Interactive SQL utility could have appeared to be hung when launched from the context menu of a table in the ASA plug-in for Sybase Central. The problem did not occur every time, nor on every machine. This has been fixed.



CR:406942
CR Number:   406942
Product Name:   UltraLite
Product Component:   UltraLite.NET
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3207 18 Oct 2005 Fixed
Description
An UltraLite application could have taken a long time to time-out when attempting to establish a connection over GPRS if the MobiLink server was not running. If the client_port synchronization parameter was supplied with a large range of ports, the client could take an extremely long time to time out, as each port was tried in succession. This has been fixed so that the connection attempt will now time out after the number of seconds specified in the "network_connect_timeout" parameter has passed.



CR:406995
CR Number:   406995
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1877 01 Nov 2005 Fixed
9.0.2 3207 01 Nov 2005 Fixed
Description
It was possible for the estimated number of rows returned by a plan operator to be misreported. This problem was likely to only affect plans containing derived tables. This problem only affected the graphical plan display; it did not affect query optimization or execution. The incorrect estimate would have been easily detectable, as it would either have been a number with an extremely large (positive or negative) exponent, or it would have been a string of characters like "IND#-1". This has been fixed.



CR:407012
CR Number:   407012
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1865 18 Oct 2005 Fixed
9.0.2 3207 18 Oct 2005 Fixed
9.0.1 2085 18 Oct 2005 Fixed
8.0.3 5314 18 Oct 2005 Fixed
Description
The following ODBC driver problems have been fixed:



1) Fetching multiple rows into a bound WCHAR column, which was too small for the column (thus truncating the data), could have copied the data into the wrong user buffer location. Data was filled correctly on the first fetch, but incorrectly on subsequent fetches, likely overrunning memory and possibly crashing the application.



2) Using SQLGetData to put data into a WCHAR buffer, where the client or database charset was multibyte, may have caused a subsequent SQLGetData on the same column to contain incorrect data. Also, indicator values may have been set incorrectly for SQLGetData or SQLFetch calls to fill WCHAR buffers when using multibyte character sets.



3) Using SQLGetData to put data into a WCHAR buffer with more than 64K WCHARs could have returned the wrong indicator, when there is no truncation.



4) Using SQLPutData to put more than 64K of data of ANY TYPE in one SQLPutData call, may have put incorrect data.



5) Calling SQLPutData with CHAR (not WCHAR) data and SQL_NTS length, only appended the first 256K of data. Appended data greater than 256K was lost.



6) Calling SQLPutData with WCHAR data and using odd lengths (i.e. partial characters), may have put incorrect data if the client or database charset was multibyte.



CR:407032
CR Number:   407032
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3207 19 Oct 2005 Fixed
9.0.2 31 Oct 2005 Not a Bug
Description
Write access to an UltaLite database was denied (with error code -89) during synchronizations, even if the application was only pinging the MobiLink server. This has been fixed so that now write access is permitted during synchronization when doing a ping or a download-only synchronization. Write access is still denied if when sending an upload to MobiLink.



Also, the runtime now permits a ping synchronization if there are uncommitted transactions.



CR:407181
CR Number:   407181
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3209 24 Oct 2005 Fixed
9.0.1 2085 24 Oct 2005 Fixed
Description
If the following conditions were all true, the server could have crashed when the calling connection was dropped:

- a user-defined function was called from a procedure

- the function in turn called a procedure with an inout or output parameter

- the argument corresponding to the output parameter had a different datatype, requiring a conversion to be done

This has been fixed. A workaround is to ensure the argument datatype matches the type of the output parameter, or declare the parameter explicitly as IN if it was not intended to be INOUT.



CR:407296
CR Number:   407296
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1863 21 Oct 2005 Fixed
9.0.2 3207 21 Oct 2005 Fixed
Description
Logging deadlocks by setting the option PUBLIC.log_deadlocks to ON, could have logged incorrect information. If the command line option -zl "remember last statement text" was used, the "what" sa_report_deadlocks column may have been blank and there was a chance the server could crash. These problems were more likely when the 10K deadlock log buffer limit was reached, calling sa_report_deadlocks would report the lowest snapshotId greater than 1. This has been fixed.



CR:407390
CR Number:   407390
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3311 05 Dec 2006 Fixed
10.0.0 2766 05 Dec 2006 Fixed
9.0.2 3418 05 Dec 2006 Fixed
Description
A query with an outerreference to unflattened derived table or view, that was used twice in a subquery, could have failed with an unexpected expression error, or could have caused theserver to crash. In the example below, the outerreference T1.q is used twice in the subquery and it references a column of a derived table with UNION:



SELECT T1.*

FROM

(select * from (select quantity from product UNION select quantity +10 from product ) as V (q)

) T1 (q)

WHERE EXISTS(

SELECT 1 FROM

(select max(id) as i,

sum(quantity) as qty

from product

group by color) T2

WHERE T1.q >T2.i AND T1.q=T2.qty )



This has now been fixed.



CR:407408
CR Number:   407408
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 5314 20 Oct 2005 Fixed
9.0.1 2084 20 Oct 2005 Fixed
9.0.2 3209 20 Oct 2005 Fixed
10.0.0 1864 20 Oct 2005 Fixed
Description
If the full path to the active transaction log was greater than 57 characters, calling the Backup utility with command line option -xo "delete and restart the transaction log without backup", would have failed to erase the renamed transaction log. The renamed transaction log file is now properly deleted.



CR:407421
CR Number:   407421
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3216 01 Nov 2005 Fixed
Description
When executing a Dynamic SQL query containing a CASE statement, incorrect errors could have been produced. This has been corrected.



CR:407422
CR Number:   407422
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2276 03 Apr 2006 Fixed
9.0.2 3286 03 Apr 2006 Fixed
9.0.1 2153 03 Apr 2006 Fixed
8.0.3 5381 03 Apr 2006 Fixed
Description
It was possible for the server to fail with Assertion 200602: 'Incorrect page count after deleting pages from table {table_name} in database {database_name}', when dropping or truncating a table for which a LOAD TABLE had failed. It was also possible for a failed LOAD TABLE to leak table pages, or temporary file pages. A failed ALTER TABLE could have resulted in many other assertions or strange behaviours. These problems would only have occurred if there where other transactions actively committing and rolling back transactions at the time of the LOAD TABLE or the ALTER TABLE. These problems have now been fixed.



CR:407546
CR Number:   407546
Product Name:   SQL Remote for SQL Anywhere
Product Component:   SQL Remote for Adaptive Server Anywhere
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 1865 25 Oct 2005 Fixed
9.0.2 3209 25 Oct 2005 Fixed
9.0.1 2085 25 Oct 2005 Fixed
Description
The Message Agent could have failed with the error "No log operation at offset n in the current transaction log", if:

- the database used checksums;

- transactions spanned transaction logs;

- the last replication finished at a commit that was at the end of an offline transaction log.

This problem has been fixed.



CR:407565
CR Number:   407565
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1902 24 Oct 2005 Fixed
9.0.2 3226 24 Oct 2005 Fixed
9.0.1 2099 24 Oct 2005 Fixed
8.0.3 5326 21 Nov 2005 Fixed
Description
When run on some Windows CE devices, after the server had grown a file, the OS would start to ignore the FILE_FLAG_WRITE_THROUGH flag, as well as the FlushFileBuffers() call. On Windows CE, the server uses FlushFileBuffers() to guarantee IO ordering for recoverability. In an attempt to work around this problem, the server has been changed to close and reopen files after the first call to FlushFileBuffers() after a file grows. It is not known exactly which versions of Windows CE contain this problem.



CR:407670
CR Number:   407670
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 5318 25 Oct 2005 Fixed
Description
Subqueries with an EXISTS predicate may no longer be flattened if the subquery contains two or more tables in the FROM clause, and it is not known if the subquery returns at most one row. The main issue with flattening subqueries with more than one table in the FROM clause is that a Distinct on rowids is always needed for the plan of the main query block.



CR:407672
CR Number:   407672
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1869 25 Oct 2005 Fixed
9.0.2 3211 25 Oct 2005 Fixed
Description
The changes for Engineering Case 404072 resolved a memory leak in the iAnywhere JDBC driver, but revealed a problem with synchronizing the release of resources within the native portion of the iAnywhere JDBC driver and the VM's garbage collector. We had to ensure that resources were not being released while the garbage collector was running. The issue with synchronizing the VM's garbage collector has now been resolved.



CR:407773
CR Number:   407773
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3212 25 Oct 2005 Fixed
9.0.1 2086 25 Oct 2005 Fixed
Description
When connected to a server via jConnect, Interactive SQL could have displayed the following warning after calling a stored procedure:



"010P4: An output parameter was received and ignored."



This warning has now been suppressed since there is nothing the user can, or should, do about it.



CR:407815
CR Number:   407815
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1872 25 Oct 2005 Fixed
9.0.2 3209 25 Oct 2005 Fixed
9.0.1 2084 25 Oct 2005 Fixed
Description
A query that has many constant strings and duplicate constant strings in the GROUP BY clause may have crashed the server.



For example:

select <many constant strings>, 'foo' 'foo'

from employee

group by 'foo', 'foo'



This has been fixed.



CR:407945
CR Number:   407945
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3247 06 Jan 2006 Fixed
Description
In some cases, secure web services (i.e. using HTTPS) may have failed to connect, with the error "The connection was closed from the other side". This has been fixed by upgrading to version 3.1.14 of the Certicom libraries. Note that this problem did not occur on Mac OS X.



CR:408062
CR Number:   408062
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3214 28 Oct 2005 Fixed
8.0.3 5317 28 Oct 2005 Fixed
Description
If a query referencing a proxy table was to be executed in "No passthru" mode and the proxy table contained a varchar column, then any trailing blanks in the varchar column would have been incorrectly stripped. This problem has been fixed.



CR:408064
CR Number:   408064
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3216 28 Oct 2005 Fixed
9.0.1 2091 28 Oct 2005 Fixed
Description
Starting the server on a database created by a previous version, (ie. versions 8.0.x and earlier) could have left the database in an unrecoverable state for varying intervals of time between checkpoints. This time interval was large on Windows 95, 98 or ME, and other Windows platforms where the server was started using the undocumented command line option -hx. Otherwise the interval of time was extremely short or non-existent.



CR:408074
CR Number:   408074
Product Name:   UltraLite
Product Component:   UltraLite.NET
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3213 28 Oct 2005 Fixed
9.0.2 18 Jan 2006 Not a Bug
Description
UltraLite.NET did not work with the .NET Compact Framework v2.0. New compatible assemblies can now be found in <install dir>\ultralite\UltraLite.NET\ce\VS2005\. These assemblies are based on the ADO.NET 1.0 API but have been recompiled to work with v2.0.



Please note the following behaviour change:



The ULConnectionParms control does not work with Visual Studio 2005. Instead, use the ULConnectionParms class programatically which functions exactly the same as the control. Make a ULConnectionParms object and set its properties. Finally, to get the connection string, call the ToString() method, as with the control.



The SyncProgressDialog wizards are not available for Visual Studio 2005. Users should visit codeXchange web-site for samples of the SyncProgressDialog.



Also note the the following behaviour changes have been observed in the .NET Compact Framework 2.0:



1. Decimal object scale preserved



In Decimal objects, scale (i.e. number of digits after decimal place) is preserved when converted to string even if the digits are zero.



As an example, the following piece of code will behave differently between .NET Compact Framework 1.x and 2.0. In this example, a decimal value of 5 is assumed to have been placed in a Decimal column that has a precision of 4 and a scale of 2.



ULDataReader dr = cmd.ExecuteReader();

dr.MoveFirst();

Decimal d = (Decimal) dr.GetValue( 1 );

Console.WriteLine( d );



Console Output under .NETF v1.x:

5



Console Output under .NETF v2.0:

5.00



2. ULRowUpdatedEventArgs and ULRowUpdatingEventArgs



In the ULRowUpdatedEventHandler method, getting the TableMapping property of the given ULRowUpdatedEventArgs object behaves differently when run with .NET v1.x and .NET v2.0. With .NET v1.x, null is returned when no TableMapping is associated with the event. With .NET v2.0, an empty TableMapping object is returned.



3. Deployment of resources on devices



iAnywhere.UltraLite.resources.dll and iAnywhere.Data.UltraLite.resources.dll



Consider the following directory structures:

Directory Structure #1

<curdir>\iAnywhere.Data.UltraLite.dll

<curdir>\iAnywhere.Data.UltraLite.resources.dll

Directory Structure #2

<curdir>\iAnywhere.Data.UltraLite.dll

<curdir>\en\iAnywhere.Data.UltraLite.resources.dll



With .NET v1.x, the resources dll could have been placed in the same directory as the executing assembly or in a directory with the name of its culture. That is, Directory Structure #1 and #2 are both acceptable.



With .NET v2.0, the resources dll must be placed in a directory with the name of its culture. That is, using Directory Structure #1, the Compact Framework will not be able to find the resources dll. Using #2 on the other hand, the Compact Framework will find the resources dll.



CR:408097
CR Number:   408097
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1871 27 Oct 2005 Fixed
9.0.2 3212 27 Oct 2005 Fixed
9.0.1 2087 27 Oct 2005 Fixed
8.0.3 5315 27 Oct 2005 Fixed
Description
On Unix systems, calling the ODBC function SQLDataSources() would have caused the server to crash with a SegFault, if no Driver Manager was being used. This has been fixed.



CR:408216
CR Number:   408216
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1812 28 Oct 2005 Fixed
9.0.2 3180 28 Oct 2005 Fixed
Description
The native Apache2 redirector now supports initiating HTTPS connections to Mobilink server. Prior to this new feature, the redirector could only communicate to Mobilink through HTTP.



PLEASE NOTE THE FOLLOWING REDIRECTOR CONFIG FILE CHANGES:



THe MobiLink directive now supports the following formats for the directive value.

(This is the old format - which is still supported) - Existing application can continue to use this format. It's a simple and short format if applications are not interested in HTTPS

ML=my-pc:82

(This is the new format - which allows for more security options to be specified)

ML="host=my-pc;port=82;trusted_certificates=rsaroot.crt;https=true"



Please note the following with the new format:

1- There is quotation marks that bounds the value of the options list. It is mandatory that those quotes exist.

2- All Mobilink stream options are valid for the option list (since they simply get passed along to Mobilink), Only the 'https=' option though is specific to the redirector only.

2- The option, trusted_certificates (Plural), is where you specify the server root certificate. This certificate has to be PEM encoded x509 type, which is simply the supported Mobilink certificate format.

3- The option https=true has to be specified in order for the redirector to enable SSL at the lower communication layer. Any value other than true or if the option is omitted, the default is used, which is false.



CR:408239
CR Number:   408239
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1827 28 Oct 2005 Fixed
9.0.2 3190 28 Oct 2005 Fixed
Description
Changes to the Java redirector have been made so as to better support the Java Servlet container behaviour in Tomcat 5.5.9.



CR:408381
CR Number:   408381
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1883 01 Nov 2005 Fixed
9.0.2 3219 01 Nov 2005 Fixed
Description
If an outstanding external procedure or function was cancelled, and a new external call was issued shortly after the cancelled external call returned back to the server, the newly issued call could potentially have returned immediately, without executing. This has now been fixed.



CR:408481
CR Number:   408481
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1878 03 Nov 2005 Fixed
9.0.2 3214 03 Nov 2005 Fixed
Description
Subqueries with an EXISTS condition are no longer flattened if the subquery contains more than two tables in the FROM clause, and it is not known if the subquery returns at most one row. This can lead to improved performance, as subquery optimization can now be done. The main issue with flattening subqueries with more than one table in the FROM clause is that a Distinct on rowids is always needed for the plan of the main query block. Previously, when flattening was done as the query was parsed, the optimizer could not choose any other plan but one with a Distinct.



CR:408483
CR Number:   408483
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1878 03 Nov 2005 Fixed
9.0.2 3214 03 Nov 2005 Fixed
Description
If a query had a predicate of the from "DT.X = expr", where "DT.X" was a column in a derived table, the predicate "DT.X IS NOT NULL" is now generated as a rewrite optimization. This generated predicate may then be used by other rewrite optimization algorithms to eliminate OUTER JOINs, redundant or conflicting predicates, etc. This could lead to vastly improved query performance.



CR:408490
CR Number:   408490
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1886 14 Nov 2005 Fixed
9.0.2 3221 14 Nov 2005 Fixed
9.0.1 5322 14 Nov 2005 Fixed
Description
The MobiLink client would have leaked approximately 0.5 Kb, plus 0.5 Kb for each user connection open to the database, for each synchronization. This leak was small enough that it would only cause a problem if dbmlsync performed many synchronizations between the time it was started and when it was shut down (for example if a frequent schedule option was being used and dbmlsync was left running for a long time). This has now been fixed.



CR:408506
CR Number:   408506
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1877 01 Nov 2005 Fixed
9.0.2 3216 01 Nov 2005 Fixed
Description
For CREATE VIEW and CREATE GLOBAL TEMPORARY TABLE statements, if the name of the object being created included a server or database name, but no user name, the statement recorded in the transaction log would have been invalid and could prevent recovery using the log. This has been fixed.



CR:408512
CR Number:   408512
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1878 02 Nov 2005 Fixed
9.0.2 3217 02 Nov 2005 Fixed
Description
It was possible, although very unlikely, for the server to crash if an undocumented system procedure was called directly. This has been fixed.



CR:408613
CR Number:   408613
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1879 04 Nov 2005 Fixed
9.0.2 3218 04 Nov 2005 Fixed
9.0.1 2093 04 Nov 2005 Fixed
9.0.1 07 Nov 2005 Fixed
Description
When using Dynamic SQL, incorrect results could have been generated when a SELECT DISTINCT query was executed, and a temporary table with more than one column was required to create the result set. The temporary table was being created with an incorrect primary key. This was been corrected.



CR:408655
CR Number:   408655
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1887 14 Nov 2005 Fixed
9.0.2 3222 14 Nov 2005 Fixed
9.0.1 2095 14 Nov 2005 Fixed
8.0.3 5322 14 Nov 2005 Fixed
Description
Executing a very large query could have caused the server to crash. This has been fixed.



CR:408745
CR Number:   408745
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1879 03 Nov 2005 Fixed
9.0.2 3555 03 Nov 2005 Fixed
9.0.1 2092 03 Nov 2005 Fixed
8.0.3 5319 03 Nov 2005 Fixed
Description
Image backups produced by a server when running on a multi-processor machine could have been corrupt. This would have occurred if there was more than one transaction concurrently modifying the database. This has now been corrected.



CR:408806
CR Number:   408806
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2322 10 May 2006 Fixed
9.0.2 3305 10 May 2006 Fixed
Description
When an input parameter was bound to a parameter in a stored procedure, and the procedure parameter was actually an INOUT parameter, the ODBC driver would have attempted to update the value after the procedure executed. This could have lead to a 'data truncated' warning message if the resulting string did not fit. This has been fixed so the the ODBC driver will no longer attempt to update the values of INOUT parameters bound as input only.



CR:408903
CR Number:   408903
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2046 03 Mar 2006 Fixed
9.0.2 3272 03 Mar 2006 Fixed
8.0.3 5369 03 Mar 2006 Fixed
Description
Running the Validation utility would have cause the server's temporary file to grow on each execution if validation with express check (-fx) was chosen. This is the default mode in 9.0.2. The amount of growth would depend on the number of tables in the database and the size of those tables. This has now been fixed. A workaround is to validate using -fn rather than -fx. Validation performance should improve with this fix as well.



CR:408937
CR Number:   408937
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3180 04 Nov 2005 Fixed
Description
The native Apache2 redirector now supports routing requests from Afaria clients to an Afaria server.



CR:408974
CR Number:   408974
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1873 07 Nov 2005 Fixed
9.0.2 3218 07 Nov 2005 Fixed
18 Jan 2006 Not a Bug
Description
On Windows CE and Windows Mobile devices, if the host synchronization parameter was not supplied, applications would have tried to connect to a MobiLink server running on the machine they had an ActiveSync partnership with. Unfortunately, on Windows Mobile 5.0 devices, this operation could have failed. This has now been fixed.



CR:409006
CR Number:   409006
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1881 07 Nov 2005 Fixed
9.0.2 3219 07 Nov 2005 Fixed
8.0.3 5404 24 May 2006 Fixed
Description
The server could have deadlocked at the end of an on-line backup if at least two other concurrent transactions performed various unsafe actions. This has been fixed.



CR:409091
CR Number:   409091
Product Name:   SQL Remote for SQL Anywhere
Product Component:   SQL Remote for Adaptive Server Anywhere
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1880 07 Nov 2005 Fixed
9.0.2 3218 07 Nov 2005 Fixed
9.0.1 2093 07 Nov 2005 Fixed
Description
The changes for Engineering case 399512 introduced a bug in calculating a page offset, that failed to recognize the amount of space left on the page when a checksum was present on the page. This has now been corrected.



CR:409230
CR Number:   409230
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3212 08 Nov 2005 Fixed
9.0.1 2086 08 Nov 2005 Fixed
Description
A performance degradation may have been observed when executing queries with proxy tables to an ASE Remote Server with the JDBC based server class 'asejdbc'. This was due to a memory leak in the Java heap that could lead to heap exhaustion and cause the Java garbage collector to run continuously. This problem has been fixed.



CR:409231
CR Number:   409231
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1893 18 Nov 2005 Fixed
9.0.2 3225 18 Nov 2005 Fixed
Description
The the graphical version of the Dbmlsync Integration Component (ActiveX) allowed no more than 30,000 characters to be added to the log window Further output was ignored, however synchronization continued normally. This limit is implosed by Windows on Edit controls. To fix this problem, once the Edit control is full, lines will be deleted from the top of the output to make room so that new lines can be added at the bottom



CR:409233
CR Number:   409233
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1880 09 Nov 2005 Fixed
9.0.2 3218 09 Nov 2005 Fixed
Description
The QAnywhere Agent could have transferred unnecessary data during synchronizations, causing message transfer to be slightly slower. This has been fixed.



CR:409283
CR Number:   409283
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1885 09 Nov 2005 Fixed
9.0.2 3220 09 Nov 2005 Fixed
8.0.3 5321 09 Nov 2005 Fixed
Description
If an SMTP email was sent using the xp_sendmail procedure, and the engine received a socket timeout error for a socket receive, the next xp_sendmail or xp_stopsmtp call would have caused the server to crash. This has been fixed.



CR:409320
CR Number:   409320
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1886 10 Nov 2005 Fixed
9.0.2 3221 10 Nov 2005 Fixed
8.0.3 5322 10 Nov 2005 Fixed
Description
When retrieving long varchar fields using a client side ADO recordset, a null character was appended to the end of the data by the OLEDB provider. This problem has been fixed.



CR:409377
CR Number:   409377
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 5321 09 Nov 2005 Fixed
9.0.2 3220 09 Nov 2005 Fixed
10.0.0 1885 10 Nov 2005 Fixed
9.0.1 2100 24 Nov 2005 Fixed
Description
If the -clrVersion or -clrFlavor .NET command line options were specified when starting the MobiLink server, the MobiLink server would have reported that the options were invalid, or not specified correctly. The MobiLink server will now properly parse and accept these two .NET options.



CR:409523
CR Number:   409523
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1886 10 Nov 2005 Fixed
9.0.2 1886 10 Nov 2005 Fixed
Description
Attempting to use the Grouping() function as a window function would have caused a server crash, rather than giving an error. This has been fixed.





--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具:ReadASADB。
此工具支持ASA v5.0,v6.0,v7.0,v8.0,v9.0,v10.0,v11.0,v12.0等版本。
恢复Sybase SQL Anywhere的工具在国内应该算首创。

ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具

  1. 适用于所有的SQL Anywhere版本    包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x
  2. 适用于所有的UltraLite版本
  3. 能够恢复出来表结构和数据
  4. 能够恢复自定义数据类型
  5. 能够恢复存储过程等对象的语法
  6. 能够导出到目标数据库
  7. 能够导出到SQL文件并生成导入脚本
  8. 支持多种字符集  包括:cp850、cp936、gb18030、utf8等
  9. 能够恢复未加密或者简单加密类型的数据
  10. 简单易用
  11. 限制:不支持AES加密的数据文件
请参考:研发成功了从Sybase SQL Anywhere的DB文件上恢复数据的工具
            SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍

ReadASADB适用场景

各种误操作:

  1. 误截断表(truncate table)
  2. 误删除表(drop table)
  3. 错误的where条件误删数据
  4. 误删除db或log文件
  5. 误删除表中的字段

本工具的应用场景:

1.因为物理磁盘故障、操作系统、系统软件方面或者掉电等等原因导致的Sybase SQL Anywhere数据库无法打开的情况;
2.误操作,包括truncate table,drop table,不正确的where条件导致的误删除等;
Sybase SQL Anywhere无法打开时,比较常见的错误是:Assertion failed。
如:
1、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Checkpoint log: invalid bitmap page -- transaction rolled back
2、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Page number on page does not match page requested -- transaction rolled back
3、Internal database error *** ERROR *** Assertion failed:200502 (9.0.2.2451) Checksum failure on page 23 -- transaction rolled back
4、File is shorter than expected
5、Internal database error *** ERROR *** Assertion failed: 201116 Invalid free list index page found while processing checkpoint log -- transaction rolled back
6、*** ERROR *** Assertion failed: 51901 Page for requested record not a table page or record not present on page等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------