提供7*24专业Sybase数据库远程及现场技术支持,Sybase ASE及Sybase SQL Anywhere数据库修复服务,
请联系电话: (微信),QQ: 289965371!
We supply technical support for Sybase ASE and Sybase SQL Anywhere, also have many years of experience in recovering data from damanged Sybase devices.
Please contact us:
Phone:
Wechat: 13811580958
QQ: 289965371 联系我们获取数据库技术支持!
Email: 289965371@qq.com
扫描下方微信,联系我们:
扫描雨翰数据恢复官方微信获取专业数据库恢复服务

 

随着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:351130
CR Number:   351130
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2270 06 Apr 2004 Fixed
9.0.1 1844 06 Apr 2004 Fixed
9.0.0 1295 06 Apr 2004 Fixed
8.0.3 4968 06 Apr 2004 Fixed
8.0.2 4402 06 Apr 2004 Fixed
Description
Calling the trim() function on a string consisting only of whitespace, with a length of less than approximately 30 characters. (The actual length required was platform dependent) could have caused the server to crash. This has now been fixed.



CR:351135
CR Number:   351135
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2256 31 Mar 2004 Fixed
9.0.1 1838 31 Mar 2004 Fixed
Description
The QAnywhere .NET client library for the .NET Compact Framework now supports Message Listeners.



CR:351144
CR Number:   351144
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)
02 Apr 2004 Fixed
Description
Statements used in a store procedure, whose plans were not yet cached, (see also database option Max_plans_cached), may have been checked more than once to see if they qualified to be cached sooner than the scheduled training period. This has now been fixed.



CR:351245
CR Number:   351245
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2266 02 Apr 2004 Fixed
9.0.1 1843 02 Apr 2004 Fixed
9.0.0 1293 02 Apr 2004 Fixed
8.0.3 4964 02 Apr 2004 Fixed
8.0.2 4401 02 Apr 2004 Fixed
Description
The following ADO.Net connection parameters were not allowed to be quoted:

- connect timeout

- connection timeout

- connection lifetime

- connection reset

- enlist

- max pool size

- min pool size

- pooling

- persist security info



This has now been corrected, these parameters can now be quoted.



CR:351247
CR Number:   351247
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4976 14 Apr 2004 Fixed
8.0.2 4406 14 Apr 2004 Fixed
Description
If the help file dbmaen8.jar was not installed in the ASANY8\java directory, every time a property sheet, dialog or wizard was opened, an error dialog would have been displayed. Now, the error dialog is only displayed when you help is explicitly asked for.



CR:351255
CR Number:   351255
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Linux
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2339 16 Jun 2004 Fixed
9.0.1 1877 16 Jun 2004 Fixed
9.0.0 1325 16 Jun 2004 Fixed
Description
When running on Unix platforms, a Remote Data Access connection via shared memory to another (or the same) ASA server, may have failed if the connection persisted longer than the value set by the -ut server command line option, (30 minutes by default), on the server that made the connection. This problem has been fixed.



Note, both the client libraries and server must be updated.



CR:351298
CR Number:   351298
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2286 22 Apr 2004 Fixed
9.0.1 1852 22 Apr 2004 Fixed
9.0.0 1303 22 Apr 2004 Fixed
8.0.3 4985 22 Apr 2004 Fixed
8.0.2 4409 22 Apr 2004 Fixed
Description
After calling a procedure that returned more than one result set, attempting to move to the next result set using ADO's NextRecordset() method, would always have returned Null. This problem has been fixed.



The following Visual Basic code fragment illustrates the problem (the stored procedure mysp() returns two result sets):



adors.Open("call mysp()", adocon, ADODB.CursorTypeEnum.adOpenDynamic,

ADODB.LockTypeEnum.adLockReadOnly,

ADODB.CommandTypeEnum.adCmdText)

Label1.Text = adors.Fields(1).Value

adors = adors.NextRecordset() <--- adors was always Null after this

Label1.Text = adors.Fields(1).Value



CR:351306
CR Number:   351306
Product Name:   SQL Anywhere
Product Component:   SNMP Extension Agent
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2264 05 Apr 2004 Fixed
9.0.1 1842 05 Apr 2004 Fixed
Description
If the SNMP Extension Agent was connected to a database and the connection was forcibly closed (due to DROP CONNECTION, liveness timeout, or the database or server being unconditionally shut down), the agent may have crashed. This now has been fixed.



CR:351353
CR Number:   351353
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)
9.0.2 2267 05 Apr 2004 Fixed
Description
If the STRTOUUID function was passed an invalid UUID string, it would have returned a NULL result rather than raising a conversion error. Now a conversion error is given, unless the database option Conversion_error is set to 'OFF', then the function will return NULL when its argument is invalid.



CR:351368
CR Number:   351368
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 2266 02 Apr 2004 Fixed
9.0.1 1843 02 Apr 2004 Fixed
Description
The fix for Engineering Case 350348, might have missed a cast() on multiple columns. There was a chance that this error would have caused the optimizer to hang on machines that have RAID arrays and have had their dbspaces calibrated. This problem has now been corrected.



CR:351379
CR Number:   351379
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Solaris
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1322 13 Jul 2004 Fixed
Description
When installing ASA 9.0 on Solaris or Linux, and only selecting the MobiLink components, the libdbunic9* library files are not installed. Applying an EBF of build 1322 or later will now install the missing libraries if MobiLink has been installed. If the libraries are already present, it will be updated.



CR:351394
CR Number:   351394
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2267 05 Apr 2004 Fixed
9.0.1 1843 05 Apr 2004 Fixed
9.0.0 1294 05 Apr 2004 Fixed
8.0.3 5117 05 Apr 2004 Fixed
8.0.2 4402 05 Apr 2004 Fixed
Description
If a query had duplicate ORDER BY items, opening it in the Query Editor would have caused its parser to generate an error.



For example:

SELECT emp_fname, emp_lname

FROM employee

ORDER BY emp_fname, emp_fname



SELECT emp_fname, emp_lname

FROM employee

ORDER BY 1, 1



This has now been fixed, the duplicate ORDER BY item will be ignored by the Query Editor's parser.



CR:351396
CR Number:   351396
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Windows CE 2.11
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2267 05 Apr 2004 Fixed
9.0.1 1843 05 Apr 2004 Fixed
8.0.3 4965 05 Apr 2004 Fixed
Description
When installed on CE devices, the OLEDB client library was not self-registering itself. This has been corrected. A work around is to register the library manually using regsrvce.exe.



CR:351416
CR Number:   351416
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)
9.0.2 2267 06 Apr 2004 Fixed
9.0.1 1843 06 Apr 2004 Fixed
9.0.0 1294 06 Apr 2004 Fixed
Description
Dragging a column header, in either the Connection Viewer or the Property V iewer of the Console utility dbconsole, may have caused it to report an error, or even crash. This has now been fixed.



CR:351546
CR Number:   351546
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2271 06 Apr 2004 Fixed
9.0.1 1844 06 Apr 2004 Fixed
9.0.0 1295 06 Apr 2004 Fixed
8.0.3 5117 06 Apr 2004 Fixed
8.0.2 4402 06 Apr 2004 Fixed
Description
When in the Code Editor, if Auto indent was set to Default or Smart, pressing enter with text selected would have added a new line to the selection, rather than replacing the selection with a new line. The problem does not occur when tab Auto indent is set to none. This problem has now been fixed.



CR:351570
CR Number:   351570
Product Name:   SQL Anywhere
Product Component:   Documentation
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
07 Apr 2004 Fixed
Description
online documentation ASA 901 has wrong link.



In the ASA manual, the link for the variance alias function points to the incorrect aggregate function



ASA SQL Reference

- SQL functions

- Alphabetic list of functions

- VARIANCE function [Aggregate]



An alias for VAR_SAMP. See STDEV_SAMP function [Aggregate].



The link points to the STDEV_SAMP function and not the VAR_SAMP function



CR:351574
CR Number:   351574
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   4.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
26 Apr 2004 Workaround
Description
hide database scheme for users. Any changes in rights for system tables lead to user can't connect to database. For instance to hide text of stored procedures from users, who is member of Public group.



Possible workaround might be:

ALTER PROCEDURE [ owner.]procedure-name SET HIDDEN

but this is for all users.



CR:351603
CR Number:   351603
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2291 13 Apr 2004 Fixed
9.0.1 1854 28 Apr 2004 Fixed
9.0.0 1305 28 Apr 2004 Fixed
8.0.3 4997 28 Apr 2004 Fixed
8.0.2 4404 28 Apr 2004 Fixed
Description
In very rare circumstances, the server could have crashed with ambiguous symptoms during query execution. The cause of the crash was likely to have been memory corruption. This problem has now been fixed.



CR:351614
CR Number:   351614
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2271 06 Apr 2004 Fixed
9.0.1 1845 06 Apr 2004 Fixed
9.0.0 1295 06 Apr 2004 Fixed
8.0.3 4969 06 Apr 2004 Fixed
8.0.2 4403 06 Apr 2004 Fixed
Description
When the Synchronization client dbmlsync was running in the scheduling mode, and the command line option, -p (disable logscan polling) was used, it may have taken longer and longer to complete each synchronization cycle. This would have occurred even if the upload and download data remained the same for each cycle, as the transaction log would have grown. If the command line option -x (rename and restart the transaction log) was also used, and the database option Delete_old_logs was set to ON in the remote database, dbmlsSync could complain with, "Missing transaction log(s) before file ...". This problem is now fixed.



CR:351643
CR Number:   351643
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 2271 06 Apr 2004 Fixed
9.0.1 1845 06 Apr 2004 Fixed
Description
Updating a column over a TDS connection (via ct_send_data) could have failed with a syntax error. This is now fixed. The problem was caused by the server reporting the full file path of the database as the dbname portion of the described column rather than just the database name. For example, the server would have described the column name as "e:\dir\MyDB.db.MyTable.BlobCol" rather than "MyDB.MyTable.BlobCol".



CR:351644
CR Number:   351644
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2272 06 Apr 2004 Fixed
9.0.1 1845 08 Apr 2004 Fixed
Description
The QAnywhere Agent qaagent.exe now supports the -q (Quiet mode) command line option. With this option, the main window is initially minimized to the system tray on Windows NT/2000/XP, and is completely hidden on WindowsCE. This option also starts the database server with the -qi (do not display database server tray icon or screen) command line option. Because the agent is completely hidden on Windows CE, when started with -q, there is now a Stop utility qastop.exe, that shuts it down gracefully.



The motivation for this change was related to running the QAnywhere Agent on Windows CE devices, in that there is a limitation that there may be at most 32 processes running at one time. When this limit is reached, and a new application is launched, Windows CE will send a WM_CLOSE message to the application that appears in the list of running applications given by Settings/System/Memory/Running Programs. When the QAnywhere Agent is launched without -q, it appears in the list of running applications, and is eligible to receive a WM_CLOSE when another application is launched. Since, the QAnywhere Agent is to behave like a service when run on Windows CE devices, it is recommended that it be launched with -q.



CR:351658
CR Number:   351658
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)
9.0.2 2326 08 Apr 2004 Fixed
9.0.1 1871 08 Apr 2004 Fixed
9.0.0 1296 08 Apr 2004 Fixed
Description
When executing statements that required sorting large result sets, during certain phases of the sort, canceling the request would not have been processed in a timely manner. Extra checks for CANCEL have been added.



CR:351705
CR Number:   351705
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2278 08 Apr 2004 Fixed
9.0.1 1848 08 Apr 2004 Fixed
Description
It was possible for the QAnywhere client library to have generated duplicate message IDs. Although it was unlikely for distributed systems of less than 10,000 clients with the total number of messages sent less than 100,000,000. However, if the number of clients were to have increased by an order of magnitude, or if the total number of messages were to have increased by several orders of magnitude, there would have been a significant chance of duplicate message IDs being generated. This problem is now fixed.



CR:351709
CR Number:   351709
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 2272 12 Apr 2004 Fixed
9.0.1 1845 12 Apr 2004 Fixed
Description
Executing queries that needed a sort operation, on servers with very little available memory, may have crashed the server. This has been fixed.



This error is likely to have occurred only when the cache size was inadequate for the server's workload. A workaround. which will reduce the chances of the crash occurring, is to increase the cache size (if practical).



CR:351717
CR Number:   351717
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2272 12 Apr 2004 Fixed
9.0.1 1845 12 Apr 2004 Fixed
Description
The Synchronization Client dbmlsync, did not handle resumable downloads correctly. If a failure occurred after recieving more than 64 K of the download was recieved, and during the resume attempt, more data was recieved, and another error occurred, dbmlsync would not have saved the data it recieved during the resume attempt. As a result it would have had to download that data again if the download was resumed again. This meant that after 64 K had been recieved, restarting a download was essentially an all or nothing process. The download would either have completed successfully, or any data recieved would have been discarded, leaving the remote in the same state it was in before the resume attempt.



This behaviour is now fixed.



CR:351732
CR Number:   351732
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 2273 12 Apr 2004 Fixed
9.0.1 1846 12 Apr 2004 Fixed
9.0.0 1296 12 Apr 2004 Fixed
Description
Executing a procedure, first with a CALL statement, and then with a SELECT, may have failed if the procedure body was a single select. Any use of grouping, aliases or subqueries in the single select could potentially have lead to the problem, but the exact conditions cannot be simply described. This has been fixed.



A workaround is to execute the procedure using only CALL statements or only SELECT statements. Another workaround is to add some useless code to the procedure body so that it consists of more than a single SELECT. For example, the following code could be added:



declare v int;

set v=1;



CR:351733
CR Number:   351733
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   AIX
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2295 30 Apr 2004 Fixed
9.0.1 1856 30 Apr 2004 Fixed
9.0.0 1307 30 Apr 2004 Fixed
8.0.3 5117 30 Apr 2004 Fixed
8.0.2 4414 30 Apr 2004 Fixed
Description
If a transaction deleted rows from a table concurrently with another transaction inserting rows, there was a chance of database corruption. While this was more likely to occur on multiprocessor and Unix systems, it was still possible for it to have occurred on single processor and Windows systems. Corruption was also possible solely with concurrent deletes, but only in very rare circumstances. This has been corrected.



CR:351739
CR Number:   351739
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 2272 08 Apr 2004 Fixed
9.0.1 1845 08 Apr 2004 Fixed
Description
The server could have crashed while recovering a database, if the following had occurred:



1 - a connection had begun a transaction with an Insert, Update or Delete

2 - a checkpoint subsequently occurred prior to a commit or rollback of the transaction

3 - another modification was made by the same connection on a table which had a trigger defined

4 - the modification was written to the redo log

5 - the server crashed or was killed prior to the next checkpoint



This has been fixed.



CR:351746
CR Number:   351746
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2270 08 Apr 2004 Fixed
9.0.1 1844 08 Apr 2004 Fixed
Description
The QAnywhere Agent qaagent.exe, would sometimes have failed to stop the database server on shutdown. This behaviour would most likely have occurred when the agent was shutdown while the Mobilink Client dbmlsync was in the middle of a synchronization, and had an open database connection. It problem only occurred on Windows CE.



Following error message would have appeared in the qaagent logfile:

InternalError: There are still active database connections

QAnywhere Agent shutdown error -109 - shutdown dbeng9 manually



This is now fixed.



CR:351756
CR Number:   351756
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2272 13 Apr 2004 Fixed
9.0.1 1845 13 Apr 2004 Fixed
9.0.0 1296 13 Apr 2004 Fixed
8.0.3 4970 13 Apr 2004 Fixed
8.0.2 4403 13 Apr 2004 Fixed
Description
An application connecting to the MobiLink redirector, when configured to use multiple MobiLink servers, could hang under the following situation:



The application connected to the redirector, which then selected one of the MobiLink servers to send the request. If this server did not respond, the redirector detected this and marked the server as dead. The request would then have been routed to another MbiLink server. If a second application then connected to the redirector, and it initially happened to select the dead MobiLink server to service the request, it would eventually have been routed to a live MobiLink server, but a third application connecting to the redirector would have caused the application to hang.



Note that this problem could have occurred with a live MobiLink server, but was timing-dependent, in the following case: the live server would have had to have been marked dead, and the background thread that updates liveness state information, would not have updated the state yet. This was unlikely, unless the sleep interval for the background thread was high, and the number of requests was high. In that case, the state information was more likely to be out of date with respect to the MobiLink server when the third client connected.



These issues have been fixed.



CR:351765
CR Number:   351765
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)
9.0.2 2280 12 Apr 2004 Fixed
9.0.1 1905 13 Aug 2004 Fixed
9.0.0 1348 13 Aug 2004 Fixed
Description
The REPLACE() function was slow when operating on long strings. The execution time was O(n^2), where n is the number of characters in the replacement string. The REPLACE() function has now been rewritten to scan the input string only once.



CR:351821
CR Number:   351821
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 2273 13 Apr 2004 Fixed
9.0.1 1846 13 Apr 2004 Fixed
9.0.0 1296 13 Apr 2004 Fixed
Description
A complex query involving many predicates and outer joins, may have crashed the server. This has been fixed.



Note, cases where this would have happened should have been very rare. Rearranging predicates in the WHERE clause of the query may be a workaround for the problem.



CR:351823
CR Number:   351823
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)
9.0.2 2293 16 Apr 2004 Fixed
9.0.1 1370 30 Apr 2004 Fixed
Description
The selectivity estimate for an equijoin predicate of the form "T.X = R.Y" was being set to 0% incorrectly, if the table T had more than one row, and the column T.X was NULL for all rows but one. This has been fixed.



Note that a selectivity of 0% for a predicate may have resulted in a very poor plan for the query, given that all costed plans would have had comparable very low cost.



CR:351851
CR Number:   351851
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2273 13 Apr 2004 Fixed
9.0.1 1846 13 Apr 2004 Fixed
9.0.0 1296 13 Apr 2004 Fixed
Description
The Help button on the Connect dialog was not enabled for the Console utility dbconsole. It is now enabled



CR:352032
CR Number:   352032
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Linux
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
7.0.4 3517 13 Apr 2004 Fixed
Description
On Linux platforms, the server's UDP Listener (used by clients to connect to the server and by dblocate) could have stopped with the following -z output:



TCP/IP Link, error on UDP Listener rc=4, er=111, ...



The UDP listener will no longer stop if it receives this error (111 is ECONNREFUSED). The -z message will continue to be displayed though.



CR:352035
CR Number:   352035
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)
9.0.2 2265 29 Apr 2004 Fixed
9.0.1 1842 29 Apr 2004 Fixed
9.0.0 1293 29 Apr 2004 Fixed
Description
If a procedure was called in a FROM clause, and the procedure body was a single SELECT statement with a common table expression and nothing else, then the SELECT statement within the procedure would have failed with the error 'Table {common table expression name} not found'.



For example, given the procedure:



create procedure p1()

begin

with c1(a) as (select 1) select * from c1

end;



The query 'select * from p1()' would have failed with the error 'Table 'c1' not found'.



There are two possible workarounds

1) Add some code like "DECLARE varname integer; set varname = 1;" to the procedure to prevent inlining.

2) If the procedure takes no arguments, use a view instead.



This problem has now been fixed.



CR:352047
CR Number:   352047
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 4408 22 Apr 2004 Fixed
Description
If the "Disconnect" User Event was enabled and a connection autostarted a database, and used the connection parameter Autostop=yes, the database may not have been shutdown after the last disconnect. This has been fixed.



CR:352048
CR Number:   352048
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2273 12 Apr 2004 Fixed
9.0.1 1846 12 Apr 2004 Fixed
8.0.3 4971 12 Apr 2004 Fixed
8.0.2 3517 12 Apr 2004 Fixed
9.0.0 1298 13 Apr 2004 Fixed
Description
The native methods that supported 'java.lang.reflect.Method.invoke()' did not consider the case where a private method was called, using Java Reflection, from a method of that same class. Thus a java class that used reflection to return and invoke a method on itself, would have throw an exception when changing the access of the method being called from public to private. This has been fixed, by examining the class of the caller, and allowing the private method to be invoked if the method's class and the caller's class are the same.



CR:352050
CR Number:   352050
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   MacOS
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1754 07 Jun 2004 Fixed
9.0.0 1299 07 Jun 2004 Fixed
Description
When run on Macintosh systems, the Server startup options dialog did not parse multiple arguments when entered in the "Options" text box, (eg -x tcpip -m). The result was a usage message on the console window. This has now been fixed.



CR:352119
CR Number:   352119
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2278 13 Apr 2004 Fixed
9.0.1 1848 13 Apr 2004 Fixed
9.0.0 1298 13 Apr 2004 Fixed
8.0.3 4976 13 Apr 2004 Fixed
8.0.2 4406 13 Apr 2004 Fixed
Description
Calling the BeginTransaction() method would have failed with the error "Can not set a temporary option for user 'DBA'", when connected to a database using the Turkish 1254TRK collation. This problem has been fixed.



CR:352129
CR Number:   352129
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2278 13 Apr 2004 Fixed
9.0.1 1848 13 Apr 2004 Fixed
7.0.4 3517 13 Apr 2004 Fixed
Description
If a Remote Server did not support correlation names, then there was a chance the Remote Server would have encountered a syntax when an UPDATE statement involving remote tables was executed. This problem has now been fixed.



CR:352147
CR Number:   352147
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 2280 16 Apr 2004 Fixed
9.0.1 1849 16 Apr 2004 Fixed
Description
In some circumstances, parallel index scans may have left some index pages locked when finished. This was more likely to occur with a cold cache. If this problem occurred, the following three symptoms would have resulted:

- The locked index pages would have remained permanently in cache, decreasing the amount of available cache.

- The engine would have hung at shutdown.

- Connections making updates, inserts or deletes to column values contained in the scanned index, such that the locked index pages need to be modified, would have blocked indefinitely.



This problem has now been fixed.



CR:352149
CR Number:   352149
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 2280 16 Apr 2004 Fixed
9.0.1 1849 16 Apr 2004 Fixed
Description
The hash table scan operator has now been implemented.



CR:352159
CR Number:   352159
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2278 15 Apr 2004 Fixed
9.0.1 1848 15 Apr 2004 Fixed
9.0.0 1298 15 Apr 2004 Fixed
8.0.3 5117 15 Apr 2004 Fixed
8.0.2 4406 15 Apr 2004 Fixed
Description
It was possible for an application to have hung after attempting to cancel a request. This problem would only have occurred very rarely on multiprocessor systems, and was even less likely to have occurred on single processor systems. This has been fixed.



CR:352169
CR Number:   352169
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1848 13 Apr 2004 Fixed
Description
Large messages synchronized over a flaky communications link may have failed many times before successfully downloading. This was because messages had to have been synchronized in a single session, requiring a connection with the server for the duration. Now, when only part of a message is synchronized before the connection breaks down, the next time a connection is made, only unsynchronized parts of the message will be synchronized. Hence, eventually, the entire message will be synchronized and made available to the client.



The partial synchronization is stored in a temporary file, which is deleted when the entire synchronization is downloaded and applied. If new messages become available for a client or are generated by the client in the time between when the last communication failure and the next synchronization, then any partially synchronized data is discarded.



CR:352170
CR Number:   352170
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2278 14 Apr 2004 Fixed
9.0.1 1848 14 Apr 2004 Fixed
9.0.0 1298 14 Apr 2004 Fixed
Description
If a column in the right pane contained dates, times or timestamps, then clicking on the columns header to sort the items, would have sorted them according to the string representation of the date, time or timestamp, not according to the actual date, time or timestamp value. For example, if sorting in ascending order the date "April 1, 2004", it

would have appeared before the date "January 1, 2003". This has been fixed, dates, times and timestamps are now sorted by their actual value.



CR:352176
CR Number:   352176
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1849 14 Apr 2004 Fixed
Description
The QAnywhere Agent qaagent sends special system messages to a "system" queue that contains information about the network status of the client. These messages were not getting deleted from the client's message repository, even after they had expired. Now with this change, they are being deleted.



CR:352188
CR Number:   352188
Product Name:   MobiLink
Product Component:   Streams
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2278 14 Apr 2004 Fixed
9.0.1 1843 14 Apr 2004 Fixed
9.0.0 1293 14 Apr 2004 Fixed
Description
If an HTTP synchronization client encountered a malformed cookie, either in a "set_cookie:" HTTP header received from an HTTP server, or from a "set_cookie" synchronization parameter, it would properly have failed, but it would not have set any stream error. Now, it will set the stream error to STREAM_ERROR_HTTP_UNABLE_TO_PARSE_COOKIE.



CR:352226
CR Number:   352226
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2279 14 Apr 2004 Fixed
9.0.1 1848 14 Apr 2004 Fixed
9.0.0 1298 14 Apr 2004 Fixed
Description
If one or more columns in a primary key were renamed, but no other changes were made to the primary key columns, then the primary key would have been dropped and re-created unnecessarily. Since dropping a primary key also drops all foreign keys which reference the primary key, dropping primary keys unnecessarily is to be avoided. Now, a primary key is only dropped and re-created when the data type, size or scale of one or more of its columns is changed, or when columns are added to it or removed from it.



CR:352275
CR Number:   352275
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2281 16 Apr 2004 Fixed
9.0.1 1850 16 Apr 2004 Fixed
8.0.3 4978 16 Apr 2004 Fixed
8.0.2 4407 16 Apr 2004 Fixed
Description
If an application exceeded the limit for prepared statements set by the database option Max_statement_count, but ignored the error returned in this situtation, it could eventually have caused the server to run out of memory. The temporary file would also have grown for each statement prepared. This has been fixed.



CR:352289
CR Number:   352289
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)
9.0.2 2280 16 Apr 2004 Fixed
9.0.1 1849 16 Apr 2004 Fixed
9.0.0 1299 16 Apr 2004 Fixed
Description
The server could have crashed when dynamically growing the cache, if it had previously been shrunk. This problem was unlikely to have occurred on single processor systems. It has now been fixed.



CR:352293
CR Number:   352293
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1843 15 Apr 2004 Fixed
9.0.0 1293 15 Apr 2004 Fixed
8.0.2 4398 15 Apr 2004 Fixed
8.0.1 3156 15 Apr 2004 Fixed
Description
Moving the mouse over an object in the right panel, may have caused an exception to have been thrown when creating the Tooltip string. This has been fixed.



CR:352297
CR Number:   352297
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4977 16 Apr 2004 Fixed
Description
UltraLite applications for Palm devices, containing the generated macro UL_CAST_LONG_DOUBLE, could have incorrectly failed with the SQL error SQLE_OVERFLOW_ERROR. This problem is now fixed.



CR:352416
CR Number:   352416
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1850 16 Apr 2004 Fixed
Description
Message synchronizations between a QAnywhere client and the QAnywhere server may have failed with an error indicating a uniqueness constraint violation on the table ml_qa_repository_staging. It was possible, although rare, that after a server failure all subsequent message synchronizations from a particular client would have failed. This is now fixed.



To work around the problem, execute the following SQL statement, against the consolidated database, with a user having DBA authority:



alter table ml_qa_repository_staging drop unique( seqno )



The unique index being dropped is unnecessary, and is the cause of the problem.



CR:352418
CR Number:   352418
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2293 16 Apr 2004 Fixed
9.0.1 1856 30 Apr 2004 Fixed
9.0.0 1302 30 Apr 2004 Fixed
Description
For a given query, the estimation of the number of rows returned by an index scan, where the index was over multiple columns, could have had a large degree of inaccuracy if the data was skewed, (ie some data values occurred significantly more often than others), and sargable equality or IN predicates existed for all columns. This has been fixed.



CR:352434
CR Number:   352434
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
7.0.4 3518 28 Apr 2004 Fixed
Description
If a user defined function was referenced in a SELECT statement and the function contained a call to the STUFF() function that returned an empty string, the server would have crashed. This has been fixed.



CR:352456
CR Number:   352456
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2281 16 Apr 2004 Fixed
9.0.1 1850 16 Apr 2004 Fixed
9.0.0 1299 16 Apr 2004 Fixed
8.0.3 4978 16 Apr 2004 Fixed
8.0.2 4407 16 Apr 2004 Fixed
Description
A service executable path name containing a dash "-", would have been truncated at the character immediately before the dash when the path name was displayed in the Service property sheet. This has now been fixed.



CR:352471
CR Number:   352471
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)
9.0.2 2281 20 Apr 2004 Fixed
9.0.1 1850 20 Apr 2004 Fixed
9.0.0 1299 20 Apr 2004 Fixed
8.0.3 5117 20 Apr 2004 Fixed
8.0.2 4407 20 Apr 2004 Fixed
Description
When the server was run on multi-processor Windows plarforms, tasks for connections where the database option Background_priority was set to 'On', would have been scheduled by the OS such that only one was running at a time, even if other processors were idle. This has been corrected.



CR:352482
CR Number:   352482
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)
9.0.2 2281 16 Apr 2004 Fixed
9.0.1 1938 28 Oct 2004 Fixed
Description
If the Log Translation utility dbtran was run with the -m ('transaction logs directory')command line option, and any of the log files in the directory were created while auditing was enabled on the database, dbtran would have crashed. This has been fixed.



CR:352561
CR Number:   352561
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2292 16 Apr 2004 Fixed
9.0.1 1855 16 Apr 2004 Fixed
Description
The logfile for the QAnywhere client store-and-forward database would only have been truncated when the QAnywhere Agent qaagent was shutdown, and hence would have contained some redundant messages already synchronized up to the QAnywhere server. Now, the log file will be truncated periodically during the lifetime of a qaagent instance.



CR:352572
CR Number:   352572
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2328 02 Jun 2004 Fixed
9.0.1 1872 02 Jun 2004 Fixed
9.0.0 1321 02 Jun 2004 Fixed
8.0.3 5117 02 Jun 2004 Fixed
8.0.2 4428 02 Jun 2004 Fixed
Description
An application that used multiple threads to access the same connection through ODBC could have hung. This has been fixed.



CR:352573
CR Number:   352573
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2225 23 Apr 2004 Fixed
9.0.1 1843 23 Apr 2004 Fixed
9.0.0 1293 23 Apr 2004 Fixed
Description
MobiLink Synchronization clients using HTTP, will now recognize all "Set-Cookie" and "Set-Cookie2" HTTP headers that they receive in server replies and will send these cookies back up with all future HTTP requests. If the name of a cookie matches an existing cookie, the client will replace its old value with the new one. Cookies are not remembered between synchronizations, they are discarded at the end of the synchronization.



This behaviour exists in both the HTTP and HTTPS synchronization streams and is always enabled, but is not supported in Java UltraLite.



CR:352576
CR Number:   352576
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2282 20 Apr 2004 Fixed
9.0.1 1850 20 Apr 2004 Fixed
Description
The QAnywhere Agent, when run on Windows CE, took the path specified by the -dbfile command line option to be relative to the directory where the agent was launched. This has been changed, now the path specified by -dbfile is taken to be an absolute path. The default is unchanged, the directory where the agent was launched from.



The meaning of the -dbfile option for Windows NT, 2000, or XP is unchanged; the standard meaning of a file path for these OS's. The default is also unchanged; the current working directory.



CR:352582
CR Number:   352582
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2282 21 Apr 2004 Fixed
9.0.1 1850 21 Apr 2004 Fixed
Description
Deleting and recreating the QAnywhere client-side message store-and-forward database would then have prevented synchronizing messages to or from the QAnywhere server. This was due to the QAnywhere server and client doing a sanity check on the store-and-forward database. Since the original database was deleted, the server was seeing the new database as incorrect. A work around for this problem, is to use the -rb command line option on qaagent, which indicates to the QAnywhere server that the store-and-forward database has been re-created.



Another symptom of this problem was if failover had occurred, and new QAnywhere server had a different status of client's store-and-forward database. To work around this problem, use both the -rb and the -ra qaagent command line options, which together tell the QAnywhere server that the store-and-forward database is fine to use.



Now, the qaagent -ra and -rb command line options are implicit.



CR:352626
CR Number:   352626
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2282 22 Apr 2004 Fixed
9.0.1 1850 22 Apr 2004 Fixed
Description
The QAManagerFactory methods createQATransactionalManager(iniFile) and createQAManager(iniFile) would not have failed if there was an error reading the initialization file. This has been fixed, now these methods return NULL if the file cannot be opened or contains an invalid parameter specification. In order to provide a way for the application developer to discover the cause of an error in these methods, two new methods, getLastError() and getLastErrorMsg() have been added to the C++ QAManagerFactory class, and LastError, LastErrorMessage were added to the C# QAManagerFactory class.



CR:352692
CR Number:   352692
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 2285 22 Apr 2004 Fixed
9.0.1 1851 22 Apr 2004 Fixed
Description
When executing a multi-row UPDATE or DELETE statement, the server could have behaved incorrectly. The server updated or deleted the right rows from the underlying table, but when updating the transaction log and index entries for an affected row, it could have used the data from the previous row modified. This could have caused several symptoms, including:



1. Incorrect row logged into the transaction and the undo logs,

2. Spurious "Index entry not found" errors,

3. Incorrect entries deleted from indexes, and so on.



This problem has now been fixed.



CR:352770
CR Number:   352770
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2287 27 Apr 2004 Fixed
9.0.1 1853 27 Apr 2004 Fixed
9.0.0 1303 27 Apr 2004 Fixed
8.0.3 4986 27 Apr 2004 Fixed
8.0.2 4410 27 Apr 2004 Fixed
Description
Attempting to re-execute a query using the ADO function Requery(), would have failed with the error "Function Sequence error".



This is illustrated by the following Visual Basic code fragment:



SQLText = "Select * from customer"

myRS.Open(SQLText, myConn, adOpenDynamic, adLockBatchOptimistic, adCmdText)

If myRS.EOF Then

myRS.Close()

Else

myRS.MoveFirst()

End If

myRS.Requery()



This problem has now been fixed.



CR:352793
CR Number:   352793
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)
9.0.2 2322 28 May 2004 Fixed
9.0.1 1870 28 May 2004 Fixed
9.0.0 1318 28 May 2004 Fixed
8.0.3 5117 28 May 2004 Fixed
8.0.2 4426 28 May 2004 Fixed
Description
If the database option Truncate_date_values was set to OFF before populating a row containing a DATE column with a value including both date and time, and the Truncate_date_values option was subsequently set back to its default of ON, updating the row in any way which caused the row to be moved to another page, would have resulted in an assertion failure 105400. This has been fixed.



A workaround is to set the option to OFF, manually update any DATE values to eliminate the time component, then set the option to ON. A statement such as the following could be used:

update t set datecol = date(datecol)

where datepart(hour,datecol)<>0

or datepart(minute,datecol)<>0



Normally this option should be left at its default setting.



CR:352795
CR Number:   352795
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2286 22 Apr 2004 Fixed
9.0.1 1852 22 Apr 2004 Fixed
9.0.0 1302 22 Apr 2004 Fixed
8.0.3 4983 22 Apr 2004 Fixed
8.0.2 4409 22 Apr 2004 Fixed
Description
If a Unicode (wide character) value was bound with SQLBindParameter, in a database using the UTF8 collation, then the column value may not have been transmitted back to the application properly.



This problem would have occurred under the following conditions:



1. The value must have been bound with SQL_C_WCHAR.

2. The indicator length must have been set to the value's actual length (rather than SQL_NTS).

3. The column must have contained embedded NULL wide characters.

4. The table must reside in a database using the UTF8 collation.



This problem has now been fixed.



CR:352871
CR Number:   352871
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
11 May 2004 DEFER
Description
created a remote server in ASA8.0 which is referring to a physical

table in Oracle9. When we try to create a proxy table to referring to a physical table

containing large amount of data (approx. 100000 rows) it gives Assertion failed: 102800.

The table on the Oracle db is a partion table



CR:352893
CR Number:   352893
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2277 22 Apr 2004 Fixed
9.0.1 1847 22 Apr 2004 Fixed
Description
In general, when dbisql is on Windows, if the keyboard focus is a table which is parented to a tabbed pane, pressing TAB should move the focus to the next component, given that a cell value in the table was not being edited. This behavior was broken and has now been fixed.



Note, this problem occurred in all the Java Administration Tools.



CR:352900
CR Number:   352900
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2286 22 Apr 2004 Fixed
9.0.1 1852 22 Apr 2004 Fixed
9.0.0 1303 22 Apr 2004 Fixed
Description
If dbisql was connected using the iAnywhere JDBC Driver (which is the default), and the server was shutdown while it was fetching rows from a result set, an endless series of dialogs stating that the connection had been terminated could have resulted. This problem has been fixed, although its occurance would have been rare, as the server would have had to shutdown after a row was fetched, but before the column values were read.



CR:352938
CR Number:   352938
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 2286 22 Apr 2004 Fixed
9.0.1 1852 22 Apr 2004 Fixed
Description
If a query referencing proxy tables, used common table expressions (i.e. the WITH clause), the local server could have crashed or returned incorrect results. The server will now return an error indicating the such statements are no longer supported with remote servers.



CR:352939
CR Number:   352939
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 2286 22 Apr 2004 Fixed
9.0.1 1852 22 Apr 2004 Fixed
9.0.0 1303 22 Apr 2004 Fixed
Description
If a server listening on multiple IP addresses, that had registered with LDAP, failed to deregister (ie. if it crashed), another server that tried to start up with the same name on the same machine within the next 10 minutes (or the value of search_timeout in asaldap.ini) would have failed with the error "A database server with that name has already started". This has been corrected.



CR:353025
CR Number:   353025
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2288 27 Apr 2004 Fixed
9.0.1 1853 27 Apr 2004 Fixed
Description
If a statement in a request log contained ASCII the characters 0x1a or 0x1c, the request log could not have been read using sa_get_request_times. This has been fixed.



CR:353026
CR Number:   353026
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2287 23 Apr 2004 Fixed
9.0.1 1853 23 Apr 2004 Fixed
9.0.0 1303 23 Apr 2004 Fixed
8.0.3 5117 23 Apr 2004 Fixed
8.0.2 4410 23 Apr 2004 Fixed
Description
Calling the system procedure "sa_get_request_times", could have caused a server crash. This has now been fixed.



CR:353047
CR Number:   353047
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   4.2.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2288 23 Apr 2004 Fixed
9.0.1 1853 23 Apr 2004 Fixed
9.0.0 1303 23 Apr 2004 Fixed
Description
Toolbar buttons may not have been enabled correctly when multiple items were selected in a details list (right pane). This has been fixed.



CR:353056
CR Number:   353056
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 2286 22 Apr 2004 Fixed
9.0.1 1852 22 Apr 2004 Fixed
Description
The result set of the compatibility procedure dbo.sp_sproc_columns, was not ordered, contrary to ASE's behavior. The results are now ordered by "colid".



A workaround is to edit the procedure definition (e.g. using Sybase Central) and add the following ORDER BY clause:

ORDER BY parm_id



CR:353148
CR Number:   353148
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)
9.0.2 2241 28 Apr 2004 Fixed
9.0.1 1854 28 Apr 2004 Fixed
Description
For very expensive queries which returned a large result set, an access plan having materializing operators was more likely to be used when the option Optimization_goal was set to 'First-row'. Now, if a plan that doesn't contain materialization exists, it is more likely to be picked as the best plan when Optimization_goal is 'First-row'.



CR:353151
CR Number:   353151
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2287 27 Apr 2004 Fixed
9.0.1 1853 27 Apr 2004 Fixed
Description
The QAnywhere Agent would have always started its own database server at startup for its message store, even if a server was already running with a database name specified by the -dbname command line option. The QAnywhere Agent has been fixed to behave as documented. A new command line option, -dbeng, has been added to the QAnywhere Agent, whose default value is the value of -dbname. Now, when the QAnywhere Agent starts, it attempts to connect to the database with name given by the -dbname option, in the server with name given by the -dbeng option. If the connection succeeds, the agent uses this database as its message store, and does not shut down the database server when it shuts down. If the connection fails, the agent launches a database server with the given server name and database name, and uses that database as its message store. In the latter case, the agent shuts down the database server when it shuts down.



Note:

If the QAnywhere Agent is connecting to an already running database server, rather than launching the database server itself, ensure that the database used by the agent as the message store is for the exclusive use of QAnywhere messaging applications. This becuase the QAnywhere Agent will perform operations on the transaction log of this database that assume that no other applications are using the database. It is possible though to have other databases, unrelated to QAnywhere messaging, running in the database server.



CR:353159
CR Number:   353159
Product Name:   MobiLink
Product Component:   Sample
Status:   Closed
OS:   Generic
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2291 04 May 2004 Fixed
8.0.3 4990 04 May 2004 Fixed
Description
Some MobiLink documentation and samples did not show optimal queries for timestamp-based downloads. In the unlikely case of data having the same 'last modified' time as the next 'last download' time and not being selected for synchronization, that data would have been missed in the next synchronization as well, unless the query included matching timestamps. Some of the documentation and samples used WHERE last_modified > ? in the download_cursor or download_delete_cursor scripts. These have now been changed to use WHERE last_modified >= ? instead. Note that there was low probability for a last_modified timestamp to match a last_download timestamp, particularly for ASA consolidated databases where the default timestamp precision is 1 microsecond.



CR:353191
CR Number:   353191
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2225 23 Apr 2004 Fixed
9.0.1 1843 23 Apr 2004 Fixed
9.0.0 1293 23 Apr 2004 Fixed
Description
Custom HTTP headers can now be specified for HTTP clients with a new "custom_header" synchronization parameter. The client will include these headers with every HTTP request it sends. The form for this parameter is:



custom_header=<header >



where HTTP headers typically take the form



<header name>: <header value>



To specify multiple custom HTTP headers, use "custom_header" multiple times.



Note, "custom_header" is supported for both the HTTP and HTTPS synchronization streams, but is not supported in Java UltraLite.



CR:353193
CR Number:   353193
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2225 23 Apr 2004 Fixed
9.0.1 1843 23 Apr 2004 Fixed
9.0.0 1293 23 Apr 2004 Fixed
Description
Custom HTTP cookies can now be specified for HTTP clients with a new "set_cookie" synchronization parameter. The client will send these cookies with every HTTP request it sends. The form for this parameter is:

set_cookie=<cookie name>=<cookie value> [, <2nd cookie name>=<2nd cookie value>, ... ]

Spaces are permitted between tokens.



The set_cookie parameter can be specified more than once in a synchronization parameters string.



set_cookie is supported for both the HTTP and HTTPS synchronization streams, but is not supported in Java UltraLite.



CR:353195
CR Number:   353195
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2309 18 May 2004 Fixed
9.0.1 1863 18 May 2004 Fixed
9.0.0 1313 18 May 2004 Fixed
Description
If a cursor was opened with requested attributes of INSENSITIVE and FOR UPDATE (either using lock, row versions, or values), then a cursor with ASENSITIVE semantics would have been reported. In reality, the cursor used by the engine was implemented using a keyset-driven cursor, which gave INSENSITIVE MEMBERSHIP. The values returned to the application, however, were not necessarily SENSITIVE as prefetch was not disabled (optimistic concurrency prevented lost updates).



Now, prefetch is disabled in this case, and the cursor type is described to the client as INSENSITIVE MEMBERSHIP / SENSITIVE VALUES. In order to more closely match the requested INSENSITIVE semantics, the cursor work table is populated eagerly at open time.



This change allows bookmarks to be supported for the returned cursor.



CR:353208
CR Number:   353208
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)
9.0.2 2288 28 Apr 2004 Fixed
9.0.1 1853 28 Apr 2004 Fixed
9.0.0 1304 28 Apr 2004 Fixed
8.0.3 4987 28 Apr 2004 Fixed
8.0.2 4412 28 Apr 2004 Fixed
Description
Referencing columns in a result set by name, rather than by its ordinal postion, may have failed. Since column names are case insensitive, all references to column names are converted to lower case before any comparison. It was this convertion to lower case that was being done incorrectly. This problem has now been fixed.



CR:353294
CR Number:   353294
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 4413 28 Apr 2004 Fixed
8.0.3 4991 28 Apr 2004 Fixed
9.0.1 1306 28 Apr 2004 Fixed
9.0.0 1306 28 Apr 2004 Fixed
9.0.2 2198 28 Apr 2004 Fixed
Description
When the Synchronization Client dbmlsync shut down, it was possible for the database server to have reported that it had terminated abnormally. The client will now gracefully

disconnect from the server on shutdown.



CR:353299
CR Number:   353299
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2300 07 May 2004 Fixed
9.0.0 1308 07 May 2004 Fixed
8.0.3 4991 07 May 2004 Fixed
9.0.1 1872 02 Jun 2004 Fixed
Description
The server could have failed with a "file-system full" error, if more temporary file space was requested than was available on the drive or volume that hosted the temporary file. This has now been fixed. The server will now check the amount of temporary file space that a connection needs, and if it is greater than its allowable quota (see below), it will fail the request. This check is enabled by a new public option 'Temp_space_limit_check', which defaults to 'Off'. When set to 'Off', no limit checking occurs. When set to 'On', if a connection uses more than its quota of temporary file space, then any requests will fail with an SQLSTATE_TEMP_SPACE_LIMIT error.



A connection's temporary file quota is based on two factors: the maximum size of the temp file (i.e., the maximum size it can grow to), and the number of active database connections. The maximum size of the tempfile is calculated as the sum of its current size and the amount of disk space available on the partition containing it. When limit checking is enabled, a connection will be checked for quota violation only after the temp file has grown to 80% or more of its maximum size, AND it requests more temp file space. When this occurs, any connection that uses more than the maximum temp file space divided by the number of active connections will fail.



CR:353334
CR Number:   353334
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2291 27 Apr 2004 Fixed
9.0.1 1854 27 Apr 2004 Fixed
9.0.0 1305 27 Apr 2004 Fixed
8.0.3 5117 27 Apr 2004 Fixed
8.0.2 4412 27 Apr 2004 Fixed
Description
Calling the system extended procedures xp_scanf, xp_sprintf or xp_startsmtp could, in very rare circumstances, have caused the server to crash. These procedures have now been fixed.



CR:353335
CR Number:   353335
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2292 27 Apr 2004 Fixed
9.0.1 1855 27 Apr 2004 Fixed
9.0.0 1306 27 Apr 2004 Fixed
8.0.3 4991 27 Apr 2004 Fixed
8.0.2 4413 27 Apr 2004 Fixed
Description
When a "rollback to savepoint" statement was executed, the table operations prior

to the execution of the "savepoint" statement may not have been translated by the Log Translation utility dbtran. This would have occurred if the rollback operations had any trigger actions and the dbtran command line option -t was not used. This problem is now fixed.



CR:353336
CR Number:   353336
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 5117 28 Apr 2004 Fixed
8.0.2 4414 30 Apr 2004 Fixed
Description
If connections were being made concurrently which required a server to be autostarted, in rare timing dependent cases, the server could have crashed. This has now been fixed.



CR:353430
CR Number:   353430
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2291 14 Jun 2004 Fixed
9.0.1 1854 14 Jun 2004 Fixed
8.0.3 4990 14 Jun 2004 Fixed
8.0.2 4412 14 Jun 2004 Fixed
Description
If the transaction log was renamed while one or more connections had open transactions, the log offset of the oldest incomplete transaction could have been recorded incorrectly. This might have prevented the MobiLink client dbmlsync from deleting out-of-date transaction logs. This has been fixed.



CR:353437
CR Number:   353437
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 2292 28 Apr 2004 Fixed
9.0.1 1855 28 Apr 2004 Fixed
9.0.0 1305 28 Apr 2004 Fixed
8.0.3 4997 28 Apr 2004 Fixed
Description
The column statistics for string columns with a declared length of up to 7 characters in blank padded databases can be incorrect, resulting in poor query plans. This problem has now been fixed.



For existing databases where incorrect statistics on some columns are suspect, the problem can be rectified by recreating the statistics on the suspect columns. If nothing is done, however, the server will automatically correct the faulty statistics over time.



CR:353442
CR Number:   353442
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2342 17 Jun 2004 Fixed
9.0.1 1878 17 Jun 2004 Fixed
9.0.0 1327 17 Jun 2004 Fixed
8.0.3 5120 17 Jun 2004 Fixed
8.0.2 4435 17 Jun 2004 Fixed
Description
Calling stored procedures with long varchar or long binary output parameters, would have resulted in the data being corrupted after 32K. The AsaClient was always using a default maximum length of 32K. This problem has been fixed.



CR:353463
CR Number:   353463
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 2292 28 Apr 2004 Fixed
9.0.1 1856 28 Apr 2004 Fixed
Description
If the decrypt() function was passed a zero-length string (not NULL), it would have caused the assertion failure 105001 "Decrypt input is too short". This has been fixed; a decryption error (-851) will now be returned.



CR:353465
CR Number:   353465
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   7.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2292 29 Apr 2004 Fixed
9.0.1 1855 29 Apr 2004 Fixed
9.0.0 1305 29 Apr 2004 Fixed
8.0.3 4991 29 Apr 2004 Fixed
8.0.2 4413 29 Apr 2004 Fixed
Description
When a "rollback to savepoint" statement was executed on a remote database, the table operations prior to the executed of the "savepoint" statement may not have been uploaded. This would have occurred if the rollback operations had:

- table operations that were not involved in synchronization, or

- global temporary table operations, or

- trigger actions that modified synchronization tables, but trigger actions were not requested to be uploaded, or

- trigger actions that modified tables that were not included in any synchronization publications; or

- rows that were deleted after "stop synchronization delete".



This problem is now fixed.



CR:353567
CR Number:   353567
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)
7.0.4 3520 28 Apr 2004 Fixed
Description
If a connection (or several connections) made multiple requests to a remote server which ran simultaneously, then it was possible that the local server would have crashed. This problem has now been fixed.



Note, that the remote requests must be simultaneous. A connection (or several connections) that make multiple remote requests that are serialized, will not cause a crash.



CR:353595
CR Number:   353595
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2293 29 Apr 2004 Fixed
9.0.1 1856 29 Apr 2004 Fixed
Description
An invalid JMS destination name supplied by a QAnywhere message, when sent to the JMS connector, would have halted the connector. That is, no more messages could have been sent through the connector. Now, when the connector receives a message containing an invalid JMS destination, an error will be reported, but the JMS connector will continue to process messages.



CR:353667
CR Number:   353667
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)
9.0.1 1872 01 Jun 2004 Fixed
Description
When the server was running on Windows CE, the encrypt() function may have returned an invalid string, as well, it may have had problems loading strongly-encrypted databases. This could also have ocurred on Unix, and other Windows platforms, though it was extremely

unlikely. This has now been fixed.



Note, as of this change the cryptographic library, (dbaes.dll on Windows, and libdbaes.so or libdbaes.sl on Unix), is no longer used and can be removed.



CR:353678
CR Number:   353678
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 2286 19 May 2004 Fixed
9.0.1 1864 19 May 2004 Fixed
9.0.0 1314 19 May 2004 Fixed
8.0.3 5003 19 May 2004 Fixed
8.0.2 4421 19 May 2004 Fixed
Description
If either of the -ar or -an command line options was used with Unload utility DBUNLOAD, column statistics from the unloaded database would not have been preserved in the new database. This could have resulted in different query execution plans being chosen when using the new database. This has been fixed.



CR:353681
CR Number:   353681
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2293 29 Apr 2004 Fixed
9.0.1 1856 29 Apr 2004 Fixed
Description
If an agentid (specified using the command line option -agent_id) contained non-standard characters, and the agent also had some associated transmission rules (specified using -policy <rules-file>), then the QAnywhere Agent would not have started. The non-standard characters would have included any non-alphanumeric characters with the exception of '_', '@', '#', and '$'. Now, only the following characters are not permitted in an agentid:



- Double quotes

- Control characters (any character less than 0x20)

- Double backslashes



Single backslashs can be used in an agentid only if it is used as an escape character.





--------------------------------------华丽的分割线-------------------------------------------------------------------------

Sybase SQL Anywhere数据库恢复工具ReadASADB:

之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具: ReadASADB。
此工具支持ASA v5.0, v6.0, v7.0, v8.0, v9.0, v10.0, v11.0, v12.0, v16.0, v17.0等版本。
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具。
恢复Sybase SQL Anywhere的工具在国内处于领先水平。

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,16.x,17.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使用介绍

Sybase SQL Anywhere数据库恢复工具ReadASADB适用场景

各种误操作:

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

Sybase SQL Anywhere数据库恢复工具ReadASADB的应用场景:

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
7、*** ERROR *** Assertion failed: 201417 (7.0.4.3541) Invalid count or free space offset detected on a table page
8、Internal database error *** ERROR *** Assertion failed: 201425 (8.0.3.5594) Invalid count or free space offset detected on a free list page -- transaction rolled back.
9、Internal database error *** ERROR *** Assertion failed: 100702 (8.0.1.2600) Unable to modify indexes for a row referenced in rollback log -- transaction rolled back


-------------------------------------------------------------------------------------------

Sybase ASE数据库恢复工具READSYBDEVICE:

一个不依赖数据库管理系统、直接从Sybase数据库设备文件上提取数据的业内领先的恢复工具!
能够从损坏的Sybase ASE设备文件(.dat)上提取数据的非常规恢复工具。

Sybase ASE数据库恢复工具READSYBDEVICE的主要功能:

  1. 被勒索病毒加密数据文件及备份文件情况下的恢复;
  2. 系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏的备份文件情况下的恢复;
  3. 因断电、硬盘坏道等造成数据库文件损坏情况下的恢复;
  4. delete数据恢复、误update数据恢复、误删除表(drop)恢复、误truncate表恢复 等;
  5. 各种Sybase内部系统表损坏、索引错误的修复;
  6. master数据库损坏而无法正常运行情况下的恢复;
  7. Sybase数据库被标记为可疑,不可用等情况的恢复;
  8. Sybase数据库中数据文件内部出现坏块情况下的恢复;
  9. Sybase数据库无数据文件但有日志文件的情况下的恢复;
  10. Sybase数据库只有数据文件无任何日志文件的情况下的恢复;
  11. Sybase数据文件被误删除情况下的碎片提取恢复;
  12. 磁盘阵列上的Sybase数据库被误格式化情况下的数据库恢复;
  13. 数据库sysobjects等系统表损坏无法正常应用情况下的恢复;
  14. Sybase数据库还原数据库出现失败情况下的恢复;
  15. Sybase数据库只剩下损坏的备份文件情况下的恢复。

Sybase ASE数据库恢复工具READSYBDEVICE支持的版本:

Sybase ASE 11.0.x,11.5.x,11.9.x,12.0.x,12.5.x,15.0.x,15.5.x,15.7.x,16.0.x


-------------------------------------------------------------------------------------------

SQL Server数据库恢复工具SQLRescue:

一个不依赖数据库管理系统、直接从SQL Server数据库文件上提取数据的业内领先的恢复工具!
能够从损坏的SQL Server数据库文件(.mdf)上提取数据的非常规恢复工具。

SQL Server数据库恢复工具SQLRescue的主要功能:

  1. 系统崩溃只剩下数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复;
  2. 断电导致数据库文件损坏情况下的恢复;
  3. 硬盘坏道造成数据库损坏情况下的恢复;
  4. 数据文件内部存在坏页情况下的恢复;
  5. 企业管理器误删除数据表记录,管理软件误删除数据表记录的恢复;
  6. 并闩锁错误、格式化、误删除后导致软件不能使用的情况;
  7. 无法读取并闩锁页sysindexes失败情况下的修复;
  8. 数据文件被误删除情况下的碎片提取恢复;
  9. 系统表损坏、索引错误、误删除数据库表、删除记录的数据找回;
  10. master数据库损坏而无法正常运行情况下的恢复;
  11. 数据文件无法附加情况下的数据恢复;
  12. 数据库被标记为可疑,质疑,不可用等情况的恢复;
  13. 数据库sysobjects等系统表损坏情况下的恢复;
  14. 数据被误(drop、delete、truncate)删除表数据的恢复,误update后的数据恢复等;
  15. 还原时报一致性错误,错误823等情况下的数据恢复,各种错误提示的数据库文件修复;
  16. 数据库被误格式化等情况下的数据库恢复;
  17. 日志收缩造成数据库损坏情况下的恢复;
  18. 仅剩损坏的备份文件情况下的恢复。

SQL Server数据库恢复工具SQLRescue技术特点:

只要SQL Server数据库的数据文件存在,我们就有办法帮您从数据文件中找回重要数据。
  1. 从数据文件中直接恢复数据
  2. 不能附加时直接恢复数据并生成新的数据库
  3. 系统表损坏的数据库修复
  4. 快速修复SQL 823错误、连接中断错误

SQL Server数据库恢复工具SQLRescue支持的版本:

Microsoft SQL Server 7.0, 2000, 2005, 2008, 2008R2, 2012, 2014, 2016, 2017,2019。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------