远程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:345969
CR Number:   345969
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2223 16 Feb 2004 Fixed
9.0.1 1822 16 Feb 2004 Fixed
9.0.0 1275 16 Feb 2004 Fixed
Description
The Server Location utility, dblocate, would have ignored the timestamp and listed any server it found in the LDAP directory, regardless of the timestamp. This problem has been fixed.



CR:345972
CR Number:   345972
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2211 10 Feb 2004 Fixed
9.0.1 1818 10 Feb 2004 Fixed
Description
When using dynamic SQL, an infinite loop could have resulted when deleting a foreign key. This has been corrected.



CR:346024
CR Number:   346024
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 2338 14 Jun 2004 Fixed
Description
Query could have failed with the error "Illegal reference to correlation name 'ccc'", when the following conditions occurred:



1) There was an aliased constant in the select list of a derived table on the null supplying side of an outer join ('xxx' in the example below)

2) The derived table must have been joined to three or more tables, and the ON condition for one of the joins must have contained an alias reference to the constant in 1)



For example:

select 1

from systable aaa

牋 left outer join

牋 ( select 1 as xxx

牋牋 from systable eee

牋牋牋牋牋 left outer join

牋牋牋牋牋 systable bbb

牋牋牋牋牋 on 1 = xxx

牋牋牋牋牋牋牋牋牋牋牋 left outer join

牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 systable ccc on 1 = 1

牋 ) ddd

on 1=1;



This is now fixed, but a workaround is to duplicate the constant in the ON condition rather than making it an alias reference.



CR:346037
CR Number:   346037
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 2218 10 Feb 2004 Fixed
9.0.1 1820 10 Feb 2004 Fixed
9.0.0 1272 10 Feb 2004 Fixed
8.0.3 4915 10 Feb 2004 Fixed
8.0.2 4378 10 Feb 2004 Fixed
Description
If a RAISERROR statement was executed in a procedure and a subsequent statement in the procedure caused a trigger to fire, an error would have been generated when the trigger completed. This would have prevented the statement which fired the trigger from completing successfully, and might have prevented the remainder of the procedure from executing. This has been fixed.



Note that a RAISERROR executed inside a trigger will still cause the triggering statement to fail.



CR:346050
CR Number:   346050
Product Name:   UltraLite
Product Component:   Code Generator
Status:   Closed
OS:   Generic
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2218 11 Feb 2004 Fixed
9.0.1 1820 11 Feb 2004 Fixed
8.0.3 4915 11 Feb 2004 Fixed
9.0.0 1273 16 Feb 2004 Fixed
8.0.2 4379 16 Feb 2004 Fixed
Description
When generating C++ code, the UltraLite analyzer generates class methods that allow the caller to determine the size of a column in a query (ie how much memory needs to be allocated to ensure any value in that column can be stored). For a column of type BINARY(n), the size was returned as (n+1). Since BINARY column values are fetched by using a p_ul_binary datatype (a structure with a length field and an array of bytes for the data), the correct size should have been sizeof(ul_length) + n. This has now been fixed.



Since the size of ul_length is 2, a workaround would be to simply add 1 to the return value of a GetSize<name> method generated for a BINARY column.



CR:346051
CR Number:   346051
Product Name:   UltraLite
Product Component:   Code Generator
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2218 11 Feb 2004 Fixed
9.0.1 1820 11 Feb 2004 Fixed
Description
When generating C++ code, the UltraLite analyzer generates class methods that allow the caller to determine the size of a column in a query (ie how much memory needs to be allocated to ensure any value in that column can be stored). For a column of type CHAR(n), the size was returned as n. Since CHAR columns are returned as null terminated strings, the null terminator should be accounted for in the size returned, so it should be n + 1. This has now been fixed.



CR:346080
CR Number:   346080
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2218 13 Feb 2004 Fixed
9.0.1 1820 13 Feb 2004 Fixed
Description
When using UltraLite dynamic SQL, a memory leak could have occurred while creating a table with multiple unnamed indexes or foreign keys. This has been corrected.



CR:346125
CR Number:   346125
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2218 13 Feb 2004 Fixed
9.0.1 1820 13 Feb 2004 Fixed
9.0.0 1273 13 Feb 2004 Fixed
Description
When using the Server-initiated Synchronization Listener utility's -l command line option to specify a message handler, it was not possible to specify messages with a space. Now, both the message and the window class name can be optionally single quoted, thus allowing them to have spaces, (ie to enter a single quote in the string, use two single quotes). The entire action string itself can be a string surrounded by single quotes. If that is the case, all single quotes within the action string need to be doubled.



Example 1: Posting my message to my class

-l "action='post ''my message'' to ''my class''';"



Example 2: Posting my'message to my'class

-l "action='post my''''message to my''''class';"



Example 3: Also posting my'message to my'class

-l "action='post ''my''''message'' to ''my''''class''';"



CR:346142
CR Number:   346142
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2218 13 Feb 2004 Fixed
9.0.1 1820 13 Feb 2004 Fixed
Description
Attempting to unload a database created with a version prior to 7.0.0, with the Unload Database wizard, would have caused Sybase Central to crash, when the table

selection page was about to be displayed. This has been fixed. Now, the table selection page is not available when unloading a pre-7.0.0 database, since the lists of tables and users are not available.



CR:346145
CR Number:   346145
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 2218 16 Feb 2004 Fixed
9.0.1 1820 16 Feb 2004 Fixed
9.0.0 1272 16 Feb 2004 Fixed
8.0.3 4915 16 Feb 2004 Fixed
8.0.2 4378 16 Feb 2004 Fixed
8.0.1 3150 16 Feb 2004 Fixed
7.0.4 3513 16 Feb 2004 Fixed
Description
The server allowed, in rare circumstances, a database user with limited permissions to manage to exceed those permissions. This is now fixed.



CR:346149
CR Number:   346149
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Novell NetWare
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
7.0.4 3513 16 Feb 2004 Fixed
Description
By default, the maximun number of connections to a server running on NetWare is approximately 108. The actual number depends on the number of network cards in the machine, and the number of IP addresses the ASA server is listening on. The "connections" TCP parameter can be used to change this limit. Once the server reached this limit, the next connection attempt would have caused the NetWare server to abend. This has been fixed, a connection attempt exceeding the limit will now fail with an error.



CR:346245
CR Number:   346245
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 2227 20 Feb 2004 Fixed
9.0.1 1824 20 Feb 2004 Fixed
9.0.0 1277 20 Feb 2004 Fixed
8.0.3 5117 20 Feb 2004 Fixed
8.0.2 4383 20 Feb 2004 Fixed
Description
Selecting blob data from a variable could have caused the server to stop with an assertion failure. This has been resolved.



CR:346247
CR Number:   346247
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   4.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2273 12 Apr 2004 Fixed
9.0.1 1845 12 Apr 2004 Fixed
9.0.0 1296 12 Apr 2004 Fixed
Description
If a view or derived table that made use of string concatenation using the '+' operator, was used as the NULL-supplying table in an outer join, the column containing the concatenation may not have been NULL-supplied in some cases. This has been fixed.



CR:346263
CR Number:   346263
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2219 17 Feb 2004 Fixed
9.0.1 1821 17 Feb 2004 Fixed
9.0.0 1273 17 Feb 2004 Fixed
8.0.3 5117 17 Feb 2004 Fixed
8.0.2 4379 17 Feb 2004 Fixed
Description
The following problems could have been seen when launching or running the graphical administration tools (ie, Sybase Central, DBISQL, DBConsole, MobiLink Monitor)



1. A crash on startup -- The Java VM may have reported that an exception occurred in the video card driver.



2. Painting problems -- On Windows XP, the task switcher that comes with Windows XP Powertoys caused the administration tools to paint incorrectly when switching through the list of tasks.



These problems have been fixed, but a workaround is to disable the computer's use of DirectDraw and Direct3D acceleration.



CR:346277
CR Number:   346277
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 2273 12 Apr 2004 Fixed
9.0.1 1845 12 Apr 2004 Fixed
9.0.0 1296 12 Apr 2004 Fixed
Description
If a Full Outer Nested Loops join were used when processing a query, and one of the inputs to the query was a single-row GroupBy, then the aggregates computed by the GroupBy could have been impropery NULL-supplied.



For example:



SELECT *

FROM

( select count(*)

from dbo.rowgenerator R1

) T1( c1 )

full JOIN (

select * from

rowgenerator R2

where R2.row_num < 2) R2 on R2.row_num = T1.c1



This has been corrected.



CR:346282
CR Number:   346282
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2226 23 Feb 2004 Fixed
9.0.1 1824 23 Feb 2004 Fixed
9.0.0 1276 23 Feb 2004 Fixed
Description
If no users were selected in the Filter Objects by Owner dialog, then any attempt to use a wizard to create a table, proxy table, view, procedure, function, remote procedure or publication would have resulted in Sybase Central crashing. This has been fixed.



Note that these objects can still not be created using a wizard when all users are

filtered out, since only unfiltered users can be choosen as the owner of a new object.



CR:346314
CR Number:   346314
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 2226 23 Feb 2004 Fixed
9.0.1 1824 23 Feb 2004 Fixed
Description
A query such as the following:



select 1 from sys.systable having 1 = 0



that created a grouping operator with no aggregate functions or group by columns, would have caused a server crash. This has been fixed.







This is fixed.



CR:346348
CR Number:   346348
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Solaris
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 4382 19 Feb 2004 Fixed
Description
ODBC applications running on Compaq Tru64 platforms, using the ODBC driver from version 8.0.2 build 4122 or later, would have hung or crashed. A change was made to the ODBC driver that required recompilation of ODBC applications, but updated header files (in particular odbc.h) were not included. New headers are now included and 64 bit ODBC applications will need to be recompiled.



CR:346362
CR Number:   346362
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 1845 12 Apr 2004 Fixed
9.0.0 1296 12 Apr 2004 Fixed
Description
Some statements, containing outer joins and derived tables or views with constants or complex expressions, could have incorrectly failed with a syntax error "derived table T has no name for column x".



For example, the following query would have failed this way:



SELECT *

FROM dbo.rowgenerator R1 LEFT JOIN

( select T1.a1

from ( select

T.table_name || 'def'

from dbo.rowgenerator R2, sys.systable T

) as T1(a1)

) T2

ON 1=0



This has now been fixed.



CR:346364
CR Number:   346364
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 2220 17 Feb 2004 Fixed
9.0.1 1821 17 Feb 2004 Fixed
9.0.0 1274 17 Feb 2004 Fixed
Description
If the MYIP tcpip parameter was specified on Unix servers, client applications, (such as the system utility dblocate), may not have been able to find the server. This has been fixed.



CR:346365
CR Number:   346365
Product Name:   UltraLite
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2220 08 Mar 2004 Fixed
9.0.1 1821 08 Mar 2004 Fixed
Description
Unloading an UltraLite schema using the UltraLite database converter, could have crashed if the conmmand line option -S was specified. This has now been fixed.



CR:346382
CR Number:   346382
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 2329 04 Jun 2004 Fixed
9.0.1 1873 04 Jun 2004 Fixed
9.0.0 1321 04 Jun 2004 Fixed
Description
If a Transact-SQL SELECT INTO statement referenced a view of a base table that contained at least one CHECK constraint, the SELECT INTO statement could have caused an erroneous syntax error, particularly if the view was a grouped view. In that example, the SQLCODE returned would be -149. This has been fixed.



As a workaround, the Transact-SQL SELECT INTO statement can be split into two separate statements. The first declaring a local temporary table and the second being a non-Transact-SQL SELECT INTO statement.



CR:346416
CR Number:   346416
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 2273 12 Apr 2004 Fixed
9.0.1 1845 12 Apr 2004 Fixed
Description
If a GroupByOrdered method was used to compute a distinct aggregate function with a constant argument, the wrong answer could have been returned. This has now been fixed.



For example:



SELECT T1.a1,

count( DISTINCT T1.a1 ) sumd0

FROM

( SELECT 1 a1

FROM dbo.rowgenerator ) T1

GROUP BY T1.a1



CR:346443
CR Number:   346443
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 2222 16 Feb 2004 Fixed
9.0.1 1822 16 Feb 2004 Fixed
Description
The server was evaluating the expression <empty_string> LIKE <empty_string> as FALSE, when it should, in fact, have been TRUE. The expression is now evaluated correctly.



CR:346477
CR Number:   346477
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 2223 16 Feb 2004 Fixed
9.0.1 1822 16 Feb 2004 Fixed
9.0.0 1275 16 Feb 2004 Fixed
Description
If a table object was cut or copied to the clipboard, or dragged and dropped into another application, then any column comments would not have been included in the SQL. This has been fixed.



CR:346497
CR Number:   346497
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 2223 16 Feb 2004 Fixed
9.0.1 1822 16 Feb 2004 Fixed
9.0.0 1275 16 Feb 2004 Fixed
Description
The LDAP timestamp would not have been updated by a server if either the server had no connections, or the server had only remote TCP or SPX connections all of which had liveness disabled. This has been fixed.



CR:346507
CR Number:   346507
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)
8.0.2 4380 16 Feb 2004 Fixed
8.0.3 5117 16 Feb 2004 Fixed
9.0.0 1275 16 Feb 2004 Fixed
9.0.1 1822 16 Feb 2004 Fixed
9.0.2 2223 16 Feb 2004 Fixed
Description
In databases using 1253ELL (Greek) collation, identifiers containing Greek letters required double-quotes because the Greek letters were not properly identified as alphabetic. This has been corrected, so that Greek letters can now be used without quotes.



CR:346508
CR Number:   346508
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 2220 16 Feb 2004 Fixed
9.0.1 1822 16 Feb 2004 Fixed
9.0.0 1275 16 Feb 2004 Fixed
Description
If an EXECUTE IMMEDIATE statement in a stored procedure was used to execute a query involving a UNION, the results of the query would not have been returned as the result set from the procedure. If the query returned a single row, no error would have been reported, nor would a result set have been generated. If the query returned more than one row, the error "SELECT returns more than one row" would have been reported. This has been fixed. A workaround is to define the query such that the UNION is contained within a derived table.



CR:346511
CR Number:   346511
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 2223 17 Feb 2004 Fixed
9.0.1 1822 17 Feb 2004 Fixed
Description
If a tautology was discovered on a null-supplying column of an outer join, the query may have returned incorrect results. This has been fixed.



The following conditions must have occurred for a query to exhibit this problem:

1. the tautology was in the WHERE clause of the main query block, and was not in a conjunction

2. the column referenced in the tautology was declared not NULL

3. the column referenced in the tautology belonged to a NULL supplying table.



For example:

select count( *)

from product p1 left outer join product p2 on (p2.quantity < 0 )

where (p2.id < 10 or p2.id > 5 or p1.quantity > 100)



where "p2.id < 10 or p2.id > 5" is a tautology, p2.id is a column of the null-supplying table "product p2" and p2.id is declared NOT NULL.



CR:346517
CR Number:   346517
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 2223 17 Feb 2004 Fixed
9.0.1 1822 17 Feb 2004 Fixed
9.0.0 1275 17 Feb 2004 Fixed
8.0.3 4923 17 Feb 2004 Fixed
8.0.2 4380 17 Feb 2004 Fixed
Description
When generating values for AUTOINCREMENT columns, if the next available value was out of range, the server's behavior varied based on the datatype of the column. For SMALLINT columns, a "value out of range for destination" was reported. For INT and BIGINT columns, a negative value was generated. For UNSIGNED INT, the value would wrap to 0. For UNSIGNED BIGINT values, the value could wrap past the maximum signed bigint.



The server's behaviour is now consistant, it generates a NULL value for an AUTOINCREMENT column if the next available value is out of range for the column.



CR:346604
CR Number:   346604
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 2227 20 Feb 2004 Fixed
9.0.1 1824 20 Feb 2004 Fixed
9.0.0 1277 20 Feb 2004 Fixed
8.0.3 5117 20 Feb 2004 Fixed
8.0.2 4383 20 Feb 2004 Fixed
7.0.4 3513 20 Feb 2004 Fixed
Description
Calling the system procedure sa_locks, could have caused a deadlock in the server. This problem was more likely to occur on multiprocessor and unix systems.



CR:346623
CR Number:   346623
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2214 17 Feb 2004 Fixed
9.0.1 1819 17 Feb 2004 Fixed
9.0.0 1271 17 Feb 2004 Fixed
Description
Two new behaviors have been added to the Server-initiated Synchronization Listener Utility's message handler:

1. The post action now turns a numeric string into message id implicitly, without going through message registration.

2. The post action will now try to interpret the destination as a window title, if finding a window class with the specified name failed.



New usage:

action=post <window message>|<id> to <window class name>|<window title>



CR:346632
CR Number:   346632
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 2224 18 Feb 2004 Fixed
9.0.1 1823 18 Feb 2004 Fixed
9.0.0 1275 18 Feb 2004 Fixed
8.0.3 4924 18 Feb 2004 Fixed
8.0.2 4381 18 Feb 2004 Fixed
Description
If a statement-level trigger was defined for multiple trigger events, which included DELETE, the "inserted" temporary table available within the trigger would have been populated when a DELETE on the table was performed. Now, the "inserted" temporary table is empty in this case.



CR:346648
CR Number:   346648
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 1830 08 Mar 2004 Fixed
Description
Messages that had expired, or had been delivered, would have remained on the server indefinitely. Now, messages will, by default, be deleted when the final state of a message has been synchronized with both the target and originator clients.



CR:346649
CR Number:   346649
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 2267 20 Apr 2004 Fixed
9.0.1 1843 20 Apr 2004 Fixed
9.0.0 1299 20 Apr 2004 Fixed
Description
The Sybase Central Plugin installed via the Merge Module could not be registered with Sybase Central. This has now been fixed.



CR:346715
CR Number:   346715
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.2 4381 18 Feb 2004 Fixed
8.0.3 5117 18 Feb 2004 Fixed
9.0.0 1276 18 Feb 2004 Fixed
9.0.1 1823 18 Feb 2004 Fixed
9.0.2 2225 18 Feb 2004 Fixed
Description
If a Watcom-SQL stored procedure or trigger containes a statement like:

execute var;

a syntax error should be reported, but was not. Instead, when the procedure or trigger was executed, the message "Invalid prepared statement type" was reported. A syntax error will now be given when the procedure or trigger is created. If the intent of the original statement was to treat the contents of the string variable "var" as a statement to be executed, EXECUTE IMMEDIATE must be used instead.



CR:346721
CR Number:   346721
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 2225 18 Feb 2004 Fixed
9.0.1 1823 18 Feb 2004 Fixed
Description
Queries with duplicate equijoins predicates, may have returned an incorrect result set. The duplicate predicates could have come from the original query or they could have been inferred. The query must have contained a derived table or view, which is flattened. This has been fixed.



CR:346730
CR Number:   346730
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.0 1276 18 Feb 2004 Fixed
9.0.1 1823 18 Feb 2004 Fixed
9.0.2 2225 18 Feb 2004 Fixed
Description
If a procedure called by an HTTP service, set the Content-Type header to NULL (i.e. telling the server not to send this header) by calling sa_set_http_header, the server would still have sent it. This has now been fixed so that the header will not be sent.



CR:346733
CR Number:   346733
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   7.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 4362 18 Feb 2004 Fixed
8.0.3 4880 18 Feb 2004 Fixed
9.0.0 1259 18 Feb 2004 Fixed
9.0.1 1815 18 Feb 2004 Fixed
9.0.2 2203 18 Feb 2004 Fixed
Description
The security certificate generation utility, gencert, would have failed to accept input redirection from a file (eg. gencert < input.txt). This has been corrected.



CR:346734
CR Number:   346734
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   7.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 4362 18 Feb 2004 Fixed
9.0.0 1259 18 Feb 2004 Fixed
9.0.1 1815 18 Feb 2004 Fixed
9.0.2 2203 18 Feb 2004 Fixed
8.0.3 4880 18 Feb 2004 Fixed
Description
The security certificate generation utility, gencert, would always have returned 0, even when an error occurred. Now, if an error occurs, gencert's exit code is EXIT_FAILURE (as defined in stdlib.h).



CR:346747
CR Number:   346747
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4925 18 Feb 2004 Fixed
9.0.1 1823 18 Feb 2004 Fixed
9.0.2 2224 18 Feb 2004 Fixed
Description
When just Sybase Central was installed (including jConnect and one or more plug-ins), some required files and registry entries were missing. This prevented Sybase Central from connecting to a database using the JDBC-ODBC bridge. Also, when shutting down, Sybase Central would report errors about not being able to start ISQL. This problem was initially addressed by engineering issue 314450. These changes complete the fix.



CR:346750
CR Number:   346750
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 2249 15 Mar 2004 Fixed
9.0.1 1833 15 Mar 2004 Fixed
9.0.0 1288 15 Mar 2004 Fixed
8.0.3 4947 15 Mar 2004 Fixed
8.0.2 4393 15 Mar 2004 Fixed
Description
If a Remote Data Access query involved proxy tables on multiple servers and used host variables, then the query may have failed with a "Not enough values for host variables" error. This problem has now been fixed.



CR:346753
CR Number:   346753
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)
8.0.3 4925 18 Feb 2004 Fixed
9.0.1 1823 18 Feb 2004 Fixed
9.0.2 2225 18 Feb 2004 Fixed
Description
Resetting the value of the Min_table_size_for_histogram option to its default, by using "set option public.min_table_size_for_histogram =", would have reset it to 1000, rather than the default value of 100. This has been fixed so that the default value of 100 is now set.



CR:346758
CR Number:   346758
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 2225 19 Feb 2004 Fixed
9.0.1 1823 19 Feb 2004 Fixed
9.0.0 1276 19 Feb 2004 Fixed
Description
The Index Consultant would generally have not recommended extra indexes, to take advantage of pipelined access plans, when the option Optimization_goal was set to 'First-row'. Although the plans recommended would have had a lower overall cost than plans using indexes, they would not usually have been pipelined, and so the first row could not be returned early. This has been fixed.



CR:346759
CR Number:   346759
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 2208 19 Feb 2004 Fixed
9.0.1 1822 19 Feb 2004 Fixed
Description
The File Hiding utility, dbfhide, can now be used to obfuscated .ini files used by the server, or any of the utilities (ie. util_db.ini, asaldap.ini, etc).



CR:346766
CR Number:   346766
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 2227 23 Feb 2004 Fixed
9.0.1 1824 23 Feb 2004 Fixed
9.0.0 1276 23 Feb 2004 Fixed
8.0.3 5117 23 Feb 2004 Fixed
8.0.2 4383 23 Feb 2004 Fixed
8.0.1 3151 23 Feb 2004 Fixed
Description
The server could have faulted with an integer divide by zero error, when executing a memory intensive query that causes the cache to grow dynamically to the maximum allowed. This is now fixed, but a work around would be to disable dynamic cache sizing (i.e. specifying -ca 0 on the command line).



CR:346769
CR Number:   346769
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)
9.0.2 2351 25 May 2004 Fixed
9.0.1 1866 25 May 2004 Fixed
9.0.0 1351 25 May 2004 Fixed
8.0.3 5117 25 May 2004 Fixed
8.0.2 4423 25 May 2004 Fixed
Description
If the Synchronization client dbmlsync was set to synchronize on a schedule, and the MobiLink server was shut down when the upload stream was being sent and then started up

again, dbmlsync could have ontinuously failed to synchronize until it was shut down and restarted. The MobiLink server would simple have reported "Synchronization Failed", with no more information. This has now been fixed.



CR:346848
CR Number:   346848
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2246 11 Mar 2004 Fixed
Description
The ODBC driver always described both binary and varbinary columns as SQL_BINARY. Now, a new database option has been added, ODBC_describe_binary_as_varbinary, which when set to 'On', will cause the ODBC driver to describe these datatypes as SQL_VARBINARY. The default value of the option is 'Off'. Note that it is not possible to distinguish between the two types. The option value is queried when a connection is first established, so any connections established after the option is set will see the new behaviour.



This option may be particularly useful when using Delphi, where binary columns are always zero-padded, but varbinary columns are not.



CR:346852
CR Number:   346852
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 2226 20 Feb 2004 Fixed
Description
The time interval that the server waited for all transactions to be quiesced for a checkpoint, was longer than necessary. The delay increased linearly with database size , but decreased with increasing page size. The delay was almost always less than one second for databases less than 1 Gigabyte in size, with a page size of 2048 bytes, so was likely not a concern for most users. The unnecessary delay has now been removed.



CR:346865
CR Number:   346865
Product Name:   UltraLite
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2226 23 Feb 2004 Fixed
9.0.1 1824 23 Feb 2004 Fixed
Description
The following statement is intended to include all non-system tables from the reference database in the UltraLite schema:



ulinit.exe 朿 揹sn=MyDsn 杅 test.usm 杗 *



It was erroneously attempting to extract tables and views owned by dbo as well, resulting in the following output:



Error: Table sysalternates must have a primary key.

Error: Table syslogs must have a primary key.

Error: Table syscolumns must have a primary key.

Error: Table syscomments must have a primary key.

Error: Table sysconstraints must have a primary key.

Error: Table sysdepends must have a primary key.

Error: Table sysindexes must have a primary key.

Error: Table syskeys must have a primary key.

Error: Table sysobjects must have a primary key.

Error: Table sysprocedures must have a primary key.

Error: Table sysprotects must have a primary key.

Error: Table sysreferences must have a primary key.

Error: Table sysroles must have a primary key.

Error: Table syssegments must have a primary key.

Error: Table systhresholds must have a primary key.



This has now been fixed. A workaround is to define a publication that contains all the tables in the reference database that are to be in the UltraLite schema and specify that publication name after the 杗 command line option.



CR:346881
CR Number:   346881
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 2225 19 Feb 2004 Fixed
9.0.1 1823 19 Feb 2004 Fixed
Description
The PREFETCH database option now has values OFF, CONDITIONAL and ALWAYS. ON is still accepted and is equivalent to CONDITIONAL.



OFF means no prefetching is done.



CONDITIONAL (the default) means prefetching is done unless either the cursor type is sensitive, or the query includes a proxy table. For example, prefetching is done over a forward only cursor, but prefetching is not done over a sensitive cursor or a proxy table.



ALWAYS means prefetching is done even for sensitive cursor types or cursors involving a proxy table. Great care must be taken when using this setting. Using prefetch on a sensitive cursor changes the semantics of the cursor to asensitive (old values may be fetched if the value was updated between the prefetch and application's fetch). Also using prefetch on a cursor using a proxy table could cause the error -668 "Cursor is restricted to FETCH NEXT operations" to occur when the application attempts to re-fetch prefetched rows. The application will re-fetch prefetched rows in a number of cases, including after a rollback, on a fetch relative 0, if a fetch column is re-bound or bound for the first time after the first fetch, or in some cases when GET DATA is used.



If the DisableMultiRowFetch connection parameter is set to YES, the PREFETCH database option is ignored and no prefetching is done.



Note: prefetching is not used by OpenClient or jConnect connections.



CR:346886
CR Number:   346886
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 2238 04 Mar 2004 Fixed
9.0.1 1828 04 Mar 2004 Fixed
9.0.0 1282 04 Mar 2004 Fixed
8.0.3 5117 04 Mar 2004 Fixed
8.0.2 4389 04 Mar 2004 Fixed
7.0.4 3514 04 Mar 2004 Fixed
Description
If a query contained an expression in the select list using the built-in finction NUMBER(*), (such as NUMBER(*)+1000) or a non-deterministic function, then a wrong answer could have been returned if the query also contained an EXISTS style predicate (or ANY, ALL or IN), where the predicate was re-written as a join with a DISTINCT operation. The wrong answer could have contained more rows than expected or an incorrect value for the expression derived from the NUMBER(*) or a non-deterministic function.



For example, the following query demonstrates the problem, depending on the plan selected by the query optimizer:



select R1.row_num, rand(), number(*)+100

from rowgenerator R1

where exists ( select * from rowgenerator R2

where R2.row_num <> R1.row_num

and R2.row_num <= 2)



This problem has been fixed.



CR:346991
CR Number:   346991
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 2230 23 Feb 2004 Fixed
9.0.1 1825 23 Feb 2004 Fixed
9.0.0 1278 23 Feb 2004 Fixed
8.0.3 5117 23 Feb 2004 Fixed
8.0.2 4384 23 Feb 2004 Fixed
Description
Assigning the result of a string concatenation to a variable could have caused the size limit of the variable to be exceeded. This would only have occurred with the bar ( || ) operator. This is now fixed, the concatenated string is truncated to the maximum size.



CR:347032
CR Number:   347032
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 2237 02 Mar 2004 Fixed
9.0.1 1827 02 Mar 2004 Fixed
9.0.0 1281 02 Mar 2004 Fixed
8.0.3 4935 02 Mar 2004 Fixed
8.0.2 4387 02 Mar 2004 Fixed
Description
If an error occurred in the managed provider, a MessageBox was being displayed even if the underlying application was running as a service and that service was not running in UserInteractive mode. Now, the MessageBox is no longer displayed in this situation.



CR:347045
CR Number:   347045
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 2240 08 Mar 2004 Fixed
9.0.1 1829 08 Mar 2004 Fixed
9.0.0 1283 08 Mar 2004 Fixed
8.0.3 4939 08 Mar 2004 Fixed
8.0.2 4389 08 Mar 2004 Fixed
Description
Queries containing a full outer join and an IS NULL predicate may have returned incorrect results. For this to have occurred, all of the following conditions must have been true:

- the query contained a full outer join above another outer join (potentially with other joins in between).

- the WHERE clause must have been a conjunction containing a predicate, or a single predicate, of the form "expr IS NULL" where expr was a simple expression involving a single base column.

- the affected lower outer join must have been an ON clause of the exact form column=column, where one of the columns involved in the predicate was in the IS NULL expression.



For example:

SELECT * FROM TAB1

LEFT OUTER JOIN TAB2 ON TAB1.COL2 = TAB2.COL2

FULL OUTER JOIN TAB3 ON TAB2.COL3 = TAB3.COL3

WHERE TAB1.COL2 IS NULL



This has now been fixed. A workaround is to rewrite the query so that it does not meet all of the listed conditions.



CR:347049
CR Number:   347049
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 2227 23 Feb 2004 Fixed
9.0.1 1824 23 Feb 2004 Fixed
9.0.0 1277 23 Feb 2004 Fixed
Description
Sending the HTTP HEAD request to the server should have only returned the HTTP headers and no body, but the body was also being returned. This has been fixed.



CR:347052
CR Number:   347052
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 2227 23 Feb 2004 Fixed
9.0.1 1824 23 Feb 2004 Fixed
Description
When the Dbmlsync Integration Component was placed on a form in Powerbuilder, at design time all that was shown on the form would have been a gray rectangle with the text "ATL Composite Control". This has been fixed, the ActiveX component will now paint itself appropriately when used in Powerbuilder



CR:347053
CR Number:   347053
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 2227 23 Feb 2004 Fixed
9.0.1 1824 23 Feb 2004 Fixed
Description
Attempting to register the Dbmlsync Integration Component using PowerBuilder would have caused a message-box to be displayed with the following message:



dbmlsynccomg.dll is not marked as supporting self-registration. However, the function "DllRegisterServer" was found. Do you wish to attempt to register this file as a control?



If 'yes' was selected to register the control, the registration would succeed with no problems. This behaviour has been corrected, the message-box woll no longer appear.



CR:347054
CR Number:   347054
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 2227 24 Feb 2004 Fixed
9.0.1 1824 24 Feb 2004 Fixed
Description
The visual Dbmlsync Integration Component would not have worked properly if it was placed on a form in a Powerbuilder application, after the target was saved and reloaded. After the reload the component would have appeared on the form as a white rectangle and the "OLE Control Name" on the property sheet for the component would have been blank. If the application was then run, the component would have appeared as a white rectangle as well at runtime. This has been corrected.



CR:347060
CR Number:   347060
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 2227 23 Feb 2004 Fixed
9.0.1 1824 23 Feb 2004 Fixed
Description
An incorrect UTF8 to Unicode conversion that caused a memory overwrite, (specific to Windows CE), and thread synchronization issues, may have caused the QAnywhere Client to crash. Both of these problems have now been fixed.



CR:347068
CR Number:   347068
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 4374 23 Feb 2004 Fixed
8.0.3 4905 23 Feb 2004 Fixed
Description
If a keyset-driven cursor was used, or a keyset was used to compute an UPDATE, INSERT, or DELETE, then NULL could be returned incorrectly for columns returned by the keyset. This is now fixed.



Note, this problem was introduced in 8.0.2 build 4368.



CR:347182
CR Number:   347182
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 2228 23 Feb 2004 Fixed
9.0.1 1824 23 Feb 2004 Fixed
9.0.0 1277 23 Feb 2004 Fixed
Description
The Create Function wizard allowed for creating a Transact-SQL function when connected to a version 8 or earlier server. This would always have failed, since Transact-SQL functions are only supported on version 9 servers. Now, this option is no longer available when connected to version 8 or earlier servers. In such cases, the dialect page is skipped completely, as Watcom-SQL is the only choice.



In addition, the Translate to Transact-SQL menu item is now disabled for functions when connected to version 8 or earlier servers.



CR:347209
CR Number:   347209
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.0 1278 23 Feb 2004 Fixed
9.0.1 1825 23 Feb 2004 Fixed
9.0.2 2230 23 Feb 2004 Fixed
Description
Column comments would be ignored when creating a new table in the table editor. Although column comments for existing tables would have been preserved. This problem has been corrected. Column comments for new tables are now preserved.



CR:347217
CR Number:   347217
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)
2232 27 Feb 2004 Fixed
9.0.1 1826 27 Feb 2004 Fixed
Description
A checksum validation operation (for example, the VALIDATE CHECKSUM statement) did not respond to cancel requests appropriately. This has been fixed.



CR:347226
CR Number:   347226
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 2215 27 Feb 2004 Fixed
9.0.1 1825 27 Feb 2004 Fixed
9.0.0 1278 27 Feb 2004 Fixed
Description
A zero-length HTTP POST would have caused the server to wait indefinately, eventually timing out the connection. This has been fixed.



CR:347269
CR Number:   347269
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 2231 25 Feb 2004 Fixed
9.0.1 1825 25 Feb 2004 Fixed
9.0.0 1278 25 Feb 2004 Fixed
8.0.3 4931 25 Feb 2004 Fixed
8.0.2 4384 25 Feb 2004 Fixed
Description
The calendars displayed in the Event Schedule dialog and the Translate Log File wizard was always using Sunday as the first day of the week. Now, the current locale is used to determine which day should be as the first day of the week. For example, in French,

German, Chinese and Japanese locales, the first day of the week is Monday.



CR:347306
CR Number:   347306
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)
9.0.2 2230 24 Feb 2004 Fixed
9.0.1 1752 24 Feb 2004 Fixed
9.0.0 1278 24 Feb 2004 Fixed
8.0.3 4930 24 Feb 2004 Fixed
8.0.2 4384 24 Feb 2004 Fixed
8.0.1 3152 24 Feb 2004 Fixed
Description
When doing a SQLPutData or SQLSetPos using bound variables, specifying a zero-length string could cause a crash in the ODBC driver. This has been fixed.



CR:347307
CR Number:   347307
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 2241 03 Mar 2004 Fixed
9.0.1 1828 08 Mar 2004 Fixed
Description
A new implementation of a sort algorithm that was added in 9.0.1, could have caused a server crash during query optimization. It was likely that the crash was only possible for queries with a large number of joins, and in the presence of multiple indexes with similar definitions on the tables involved. This has now been fixed.



CR:347314
CR Number:   347314
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)
2982 13 Dec 2004 Fixed
9.0.2 2543 09 Dec 2004 Fixed
9.0.1 1961 13 Dec 2004 Fixed
Description
If a query contained a LIKE predicate with a literal constant pattern, that did not contain a wildcard, the query could have incorrectly returned rows where the expression or column contained additional trailing blanks when run against a database that does blank padding of strings. For example, given the value 'abc' and the LIKE pattern 'abc ' (with a trailing blank), the server would have incorrectly matched the value and caused its row to be returned. This has been fixed.



CR:347324
CR Number:   347324
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 2231 24 Feb 2004 Fixed
9.0.1 1826 24 Feb 2004 Fixed
Description
If the readText method of QATextMessage was called to read n Unicode characters, it would have returned a smaller number (possibly n/2) of the characters read. To read the remaining characters, it was necessary to repeatedly call the method, and it would have returned n/4, n/8, etc. characters on each subsequent call. The exact amount returned on each call would depend on the length of the UTF-8 representation of the data.



This has been fixed. The function will now return n characters, unless there are fewer characters available to return.



CR:347350
CR Number:   347350
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2233 27 Feb 2004 Fixed
9.0.1 1827 27 Feb 2004 Fixed
9.0.0 1279 27 Feb 2004 Fixed
Description
Attempting to use the View Creation wizard to create a view with a SQL statement that didn't begin with the keyword SELECT, would have caused the error "You must specify a valid SELECT statement without an ORDER BY clause". This has been fixed so that the

wizard can be used to create any valid view.



CR:347352
CR Number:   347352
Product Name:   UltraLite
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2231 24 Feb 2004 Fixed
9.0.1 1825 24 Feb 2004 Fixed
9.0.0 1278 24 Feb 2004 Fixed
8.0.3 5117 24 Feb 2004 Fixed
Description
When using the UltraLite initialization utility ulinit, to create a .usm file for an UltraLite application, the -t option was ignored. This option is used to specify the file containing the root certificates that the application should accept in an SSL/TLS synchronization. This has been fixed. The -t option will now be respected.



CR:347363
CR Number:   347363
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2231 25 Feb 2004 Fixed
9.0.1 1826 25 Feb 2004 Fixed
9.0.0 1278 25 Feb 2004 Fixed
8.0.3 4931 25 Feb 2004 Fixed
8.0.2 4385 25 Feb 2004 Fixed
Description
When synchronizing with the Palm HotSync conduit, database corruption could have occurred if a table with no other synchronization activity had rows deleted via the automatic RI cleanup (cascade delete on download). This corruption prevented further successful synchronizations, signaling the SQL code -755. This problem is fixed. Existing databases should be dropped and recreated via synchronization when the patch is deployed.



CR:347468
CR Number:   347468
Product Name:   UltraLite
Product Component:   UltraLite Engine
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2227 26 Feb 2004 Fixed
9.0.1 1824 26 Feb 2004 Fixed
9.0.0 1276 26 Feb 2004 Fixed
Description
The UltraLite engine would have always returned -1 for calls to ULSqlca::GetSQLErrorOffset. This has been fixed so that it now returns the correct dynamic SQL error offset, when applicable.



CR:347481
CR Number:   347481
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 2288 04 Mar 2004 Fixed
9.0.1 1853 30 Mar 2004 Fixed
9.0.0 1292 23 Apr 2004 Fixed
8.0.3 4998 23 Apr 2004 Fixed
8.0.2 4395 23 Apr 2004 Fixed
Description
For queries with multiple predicates in the WHERE clause, if one predicate had a very small selectivity, the server could have picked an inefficient plan by choosing an inferior index. This has now been fixed.



CR:347493
CR Number:   347493
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 2234 27 Feb 2004 Fixed
9.0.1 1827 27 Feb 2004 Fixed
9.0.0 1280 27 Feb 2004 Fixed
8.0.3 5117 27 Feb 2004 Fixed
8.0.2 4386 27 Feb 2004 Fixed
Description
The server could have crashed on startup, if a large number of tasks were specified, and they could not all be created due to lack of memory. This problem was more likely to occur on Windows platforms using AWE, with 8.0.2 build 4076, or later. This has been fixed in the Windows server, (a fix for NetWare and Unix servers to follow), now it will fail with an error indicative of excessive memory usage.



CR:347495
CR Number:   347495
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 2232 26 Feb 2004 Fixed
9.0.1 1826 26 Feb 2004 Fixed
Description
The 'restartable download' value passed to the sp_hook_dbmlsync_end hook was set to FALSE, when it should have been TRUE, for cases where an attempt to resume a previously failed download failed. The problem occurred when the attempt to resume the download failed before any more of the download had been received from Mobilink, and in such a way that it was still possible to resume the download in the future.



This has been fixed. The restartable download parameter should now always be correct.



CR:347502
CR Number:   347502
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 2232 26 Feb 2004 Fixed
9.0.1 1752 26 Feb 2004 Fixed
Description
When entering a file name in the Export dialog, and omitting the file extension, an extension which is appropriate to the file type is automatically added. For example, ASCII format files get a "txt" extension. If the file name entered ended with a period, the resulting file name would have contained two periods (e.g. "myFile..txt") Now, only one period is added before the extension.



CR:347503
CR Number:   347503
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)
7.0.4 3514 27 Feb 2004 Fixed
Description
Calling the LEFT() function on a MultiByte Character Set string, could have caused a server hang. This has been fixed.



CR:347513
CR Number:   347513
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2232 26 Feb 2004 Fixed
9.0.1 1826 26 Feb 2004 Fixed
9.0.0 1279 26 Feb 2004 Fixed
Description
If errors occurred during execution of the prepare_for_download or download scripts in MobiLink servers, version 9.0.0 and up, olded clients (ie 8.0.0 and 8.0.1) would have failed with the error "Communication error occurred while receiving data from the MobiLink server". This problem is now fixed.



CR:347536
CR Number:   347536
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 2234 27 Feb 2004 Fixed
9.0.1 1827 27 Feb 2004 Fixed
9.0.0 1280 27 Feb 2004 Fixed
Description
The TCP/IP-based synchronization streams now support the "Ignore" option. This option specifies a hostname or IP address that MobiLink server will ignore when that host or IP makes a connection. The intent of this option is to ignore requests from load balancers at the lowest possible level. This prevents excessive output in both the MobiLink server log and the MobiLink monitor output files. The option is only valid when used on the dbmlsrv command line, as part of the -x option.

For example:



dbmlsrv9 ... -x tcpip {ignore=lb1;ignore=123.45.56.67) ...



This causes MobiLink server to ignore requests from both the host at "lb1" and the IP address 123.45.56.67



CR:347538
CR Number:   347538
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 2238 02 Mar 2004 Fixed
9.0.1 1828 02 Mar 2004 Fixed
9.0.0 1281 02 Mar 2004 Fixed
8.0.3 4936 02 Mar 2004 Fixed
8.0.2 4388 02 Mar 2004 Fixed
Description
Running a querey at isolation level 1 could have taken significantly longer than at isolation level 0. This was particularly evident when the plan called for repeatedly re-reading the same set of rows. This was due to the cost of obtaining the short term locks for cursor stability and checking the long term lock table for conflicting locks. The time to aquire the cursor stability locks has been reduced by optimizing lookups into the long term lock table.



CR:347591
CR Number:   347591
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 2233 27 Feb 2004 Fixed
9.0.1 1828 27 Feb 2004 Fixed
9.0.0 1281 27 Feb 2004 Fixed
8.0.3 4936 27 Feb 2004 Fixed
8.0.2 4388 27 Feb 2004 Fixed
Description
The result of:

select convert(long varchar,current date,13)

would have returned a string based on the Date_format option, rather than the format represented by the parameter 13. This has been fixed.



CR:347610
CR Number:   347610
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 2234 01 Mar 2004 Fixed
9.0.1 1827 01 Mar 2004 Fixed
Description
The readText method of QATextMessage and the readBinary method of QABinaryMessage could have returned -1 (indicating no more content) before the end of the message content had been reached. In this circumstance, the getLastError method of the receiving QAManager could have indicated no error.

Now, getLastError will return an error code indicating an unexpected end of message has been reached.



CR:347621
CR Number:   347621
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2234 27 Feb 2004 Fixed
9.0.1 1827 27 Feb 2004 Fixed
Description
When the character set used by a dbunload connection was a Multibyte Character Set, and was different from the OS character set, rebuilding a database using either the -an or -ar command-line options, could have caused the last multibyte character in any comment (for example, a table comment) to have become mangled. When using dbunload without the -an or -ar options, the mangled multibyte characters could have been found in the reload.sql file, with the last byte in the form of hex string (\x??). This has been fixed.



CR:347635
CR Number:   347635
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 2233 27 Feb 2004 Fixed
9.0.1 1827 27 Feb 2004 Fixed
Description
The UploadRow event of the Dbmlsync Integration Component was not being fired for update operations, unless verbosity was enabled that displayed uploaded and downloaded rows (-vr). The event is now called correctly.



CR:347722
CR Number:   347722
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 2234 01 Mar 2004 Fixed
9.0.1 1827 01 Mar 2004 Fixed
9.0.0 1280 01 Mar 2004 Fixed
Description
Database connections made before switching to Debug mode, sometimes would not have appeared in the connection list of the Debugger details panel. This has now been fixed.



CR:347725
CR Number:   347725
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 2234 27 Feb 2004 Fixed
9.0.1 1827 27 Feb 2004 Fixed
Description
The QAnywhere JMS connector is a bridge between QAnywhere messaging and JMS messaging. If the connection to the external JMS messaging provider was temporarily lost, and the QAnywhere JMS connector subsequently received a message destined to JMS, while the connection was down, the connector would have failed and no longer delivered messages to the external JMS provider. This would not have affected receiving messages from the external JMS message provider, that were destined for QAnywhere. To restore connector functionality, the MobiLink server hosting QAnywhere needed to be restarted. Now, temporary connectivity problems with the external JMS messaging provider will not affect delivery of messages. Once connectivity is restored, the messages will be delivered.



CR:347779
CR Number:   347779
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1827 01 Mar 2004 Fixed
9.0.0 1280 01 Mar 2004 Fixed
8.0.3 5117 01 Mar 2004 Fixed
8.0.2 3486 01 Mar 2004 Fixed
Description
The Unload utility dbunload, or Sybase Central's Unload Database wizard, could have failed with a syntax error if a comment on an integrated login id contained a double quote character. Unlike other types of comments, double quotes are used to enclose the comment string, but any double quotes in the string where not being doubled. Now the comment will be enclosed in single quotes and any single quotee or escape characters will be doubled.



CR:347825
CR Number:   347825
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 2238 02 Mar 2004 Fixed
9.0.1 1828 02 Mar 2004 Fixed
9.0.0 1281 02 Mar 2004 Fixed
8.0.3 4936 02 Mar 2004 Fixed
8.0.2 4388 02 Mar 2004 Fixed
Description
If LOAD TABLE was executed on a Global Temporary table, an exclusive lock was left on the table until a COMMIT was executed. Other connections attempting to reference the table for the first time would block until the lock was released. LOAD TABLE will now execute a COMMIT at the end of the statement in this situation, releasing the lock. If a Global Temporary table was created with ON COMMIT DELETE ROWS, an error will be given on an attempt to use LOAD TABLE with that table.



CR:347905
CR Number:   347905
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 2237 02 Mar 2004 Fixed
9.0.1 1827 02 Mar 2004 Fixed
9.0.0 1281 02 Mar 2004 Fixed
Description
A long-running query that had a recursive union, may have crashed the server if it was cancelled. This has been fixed.



CR:347910
CR Number:   347910
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 2209 02 Mar 2004 Fixed
9.0.1 1817 02 Mar 2004 Fixed
9.0.0 1266 02 Mar 2004 Fixed
8.0.3 4895 02 Mar 2004 Fixed
8.0.2 4369 02 Mar 2004 Fixed
Description
When run on Windows CE platforms, dbmlsync would have ignored the trusted_certificates synchronization parameter used to specify trusted root certificates for TLS synchronization. This has been fixed.



CR:347984
CR Number:   347984
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)
9.0.2 2237 02 Mar 2004 Fixed
9.0.1 1827 02 Mar 2004 Fixed
9.0.0 1281 02 Mar 2004 Fixed
Description
An incorrect result set (usually extra rows) could have been produced when DISTINCT was specified for a query involving joins. This has been corrected



CR:348071
CR Number:   348071
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2238 02 Mar 2004 Fixed
9.0.1 1828 02 Mar 2004 Fixed
9.0.0 1281 02 Mar 2004 Fixed
8.0.3 4937 02 Mar 2004 Fixed
8.0.2 4388 02 Mar 2004 Fixed
Description
The synchronization client Dbmlsync, would have used the wrong last download timestamp for a synchronization, possibly resulting in a remote not getting download data that it should have recieved when all of the following were true:



- dbmlsync was being run so that the same subscription was synchronized repeatedly within the same run. This could occur if scheduling options were specified or if the restart parameter in the sp_hook_dbmlsync_end hook were being used.

- hovering was disabled. (ie the -p commandline option was used).

- an error occurred late in the download phase of the synchronization. The error would have had to occur in the sp_hook_download_end hook or later but before the download was committed.



In this case, if the next synchronization of the subscription occurred without shutting dbmlsync down, the last download time used would have indicated that the previous failed synchronization had a successful download, even though the download failed and was rolled back. This would have resulted in the remote not receiving data it required if timestamp based downloads were being used.



This has been fix, but should not have caused problems for systems using snapshot download.



CR:348104
CR Number:   348104
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 2238 04 Mar 2004 Fixed
9.0.1 1828 04 Mar 2004 Fixed
9.0.1 1828 04 Mar 2004 Fixed
9.0.0 1281 04 Mar 2004 Fixed
Description
When retrieving data from HTML services, some characters need to be be HTML-encoded (eg. double quotes should be returned as "). In some cases (depending on the character set of database and the value of the Accept-charset header sent by the client), these characters were not being HTML-encoded properly. This has been fixed.



Note, to properly convert data to UTF-16 AND HTML-encode it, both operations have to be done essentially at the same time, which is currently not possible. Because of this, the HTTP server will not send UTF-16 if requested.



CR:348106
CR Number:   348106
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 2247 11 Mar 2004 Fixed
9.0.1 1832 11 Mar 2004 Fixed
9.0.0 1287 11 Mar 2004 Fixed
8.0.3 4945 11 Mar 2004 Fixed
8.0.2 4392 11 Mar 2004 Fixed
8.0.1 3153 11 Mar 2004 Fixed
Description
In a Visual Basic RDO application, after updating columns in a resultset, calling MoveFirst or MoveLast would then have failed with the error "Not Enough fields allocated in SQLDA".



For example:

Call GResSet.Edit()

GResSet.rdoColumns("Col2").Value = 2

Call GResSet.Update()

GResSet.MoveFirst() < ---- 'Error : Not Enough fields allocated in SQLDA



The same problem was reproducable when calling ODBC functions directly.



For example:



Set rowset size to 100.

SQLExtendedFetch (SQL_FETCH_FIRST) to obtain a rowset.

SQLSetPos (SQL_UPDATE) to change a row in the rowset.

SQLSetPos (SQL_REFRESH) to update a row in the rowset.

SQLExtendedFetch (SQL_FETCH_FIRST) to refetch the rowset. < ---- 'Error : Not Enough fields allocated in SQLDA



This problem has been fixed.



CR:348115
CR Number:   348115
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 4392 12 Mar 2004 Fixed
8.0.3 4946 12 Mar 2004 Fixed
9.0.0 1288 12 Mar 2004 Fixed
9.0.1 1832 12 Mar 2004 Fixed
9.0.2 2248 12 Mar 2004 Fixed
Description
If the Database Unload utility dbunload was run with the -ar command line option (rebuild and replace database), using a database that had already been started on a database server, it may have failed to rebuild the database. The original database would have been deleted and the rebuilt database and log file would still have an extra "R" at the end of the filename. The log offset values would not have been reset to the values in the original database, although the data in the rebuilt database would have been identical to the original database. This has now been fixed.
Workaround Description
 Use the local engine instead. (Customer does not have this as part of the install)



CR:348166
CR Number:   348166
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2266 05 Apr 2004 Fixed
9.0.1 1843 05 Apr 2004 Fixed
9.0.0 1293 05 Apr 2004 Fixed
8.0.3 5117 05 Apr 2004 Fixed
8.0.2 4401 05 Apr 2004 Fixed
Description
An application using the DBSynchronizeLog function of the Database Tools interface could have crashed, if the msgqueuertn function pointer in the a_sync_db structure was set to NULL. Now, if the pointer is set to NULL, the function default implementation is to sleep for the requested time period.
Workaround Description
 None.



CR:348252
CR Number:   348252
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 2239 04 Mar 2004 Fixed
9.0.1 1828 04 Mar 2004 Fixed
Description
The QAnywhere client library failed to free a small amount of memory whenever a message was sent or received. The amount leaked could have been significant for a long-running application. This has now been fixed.



CR:348312
CR Number:   348312
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 2240 05 Mar 2004 Fixed
9.0.1 1829 05 Mar 2004 Fixed
9.0.0 1282 05 Mar 2004 Fixed
Description
The server could have crashed on startup when run on NetWare.





--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从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等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------