远程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:300796
CR Number:   300796
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.3 4525 22 Nov 2002 Fixed
8.0.2 4082 22 Nov 2002 Fixed
8.0.1 3076 22 Nov 2002 Fixed
Description
The server automatically generates histograms on columns being loaded via the LOAD TABLE statement. The size of a histogram that was being generated during LOAD TABLE was unnecessarily large. Now LOAD TABLE will generate histograms with the same sizes as the equivalent histograms created by the CREATE STATISTICS statement.



CR:300847
CR Number:   300847
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4524 21 Nov 2002 Fixed
8.0.2 4082 21 Nov 2002 Fixed
8.0.1 3075 21 Nov 2002 Fixed
8.0.0 2354 21 Nov 2002 Fixed
7.0.4 3390 21 Nov 2002 Fixed
7.0.3 2149 21 Nov 2002 Fixed
Description
If the path to a database file contained brace characters (eg.

"E:\test\{test}\sample.db"), applications using dblib or odbc could not have autostarted it. This has been fixed. Note that starting a server directly on the file (eg. dbeng8 E:\test\{test}\sample.db) was not a problem.



CR:300858
CR Number:   300858
Product Name:   SQL Anywhere
Product Component:   Documentation
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 462 02 Dec 2002 Fixed
Description
In the Adaptive Server Anywhere Programming Guide, chapter 6 Embedded SQL Programming, section Library function reference for db_register_a_callback function. The callback prototype for DB_CALLBACK_MESSAGE is incorrect. It should be:



extern void SQL_CALLBACK MessageDBRequest(

SQLCA * sqlca,

unsigned char msg_type,

an_SQL_code code,

unsigned short length,

char * msg );



CR:300903
CR Number:   300903
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   7.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4544 09 Dec 2002 Fixed
7.0.4 3395 09 Dec 2002 Fixed
Description
Entering an invalid query like the following, (note missing table alias B):

DELETE FROM t1 A FROM t2 WHERE A.c1 = B.c1

where both t1 and t2 were remote tables, would have caused the statement to be passed to the remote server, instead of being rejected immediately. This problem has now been fixed.



CR:301012
CR Number:   301012
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Solaris
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4532 02 Dec 2002 Fixed
8.0.2 3605 13 Dec 2002 Fixed
8.0.1 3085 13 Dec 2002 Fixed
7.0.4 3399 13 Dec 2002 Fixed
Description
If a server was started on the same machine as another server of the same name, which was was in the process of shutting down, the server could have hung. Also, if a client attempted to connect via shared memory to the newly started server, while the previous server with the same name was still shutting down, the client could have hung. This problem has been fixed.



CR:301078
CR Number:   301078
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 464 05 Dec 2002 Fixed
Description
When using

DBBACKUP -r -n

or

BACKUP DATABASE DIRECTORY 'bkup_dir'

TRANSACTION LOG RENAME MATCH

the current transaction log is renamed and the log copy is also renamed using a matching name in the form YYMMDDnn.log. Previously, there was no way to cause the log copy to be renamed if the active log was truncated.



As of this change, the following methods can be used to rename the log copy:

DBBACKUP -x -n

or

BACKUP DATABASE DIRECTORY 'bkup_dir'

TRANSACTION LOG RENAME

TRANSACTION LOG TRUNCATE



CR:301081
CR Number:   301081
Product Name:   MobiLink
Product Component:   Monitor
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4526 26 Nov 2002 Fixed
8.0.2 4083 26 Nov 2002 Fixed
Description
Dialogs in the MobiLink Monitor deviated from the Windows Interface Guidlines in the following ways, which affected keyboard accessibility:

- The Watch Manager, New Watch and Edit Watch dialogs did not have default buttons.

- OK, Cancel and Help buttons had mnemonics. Windows applications do not use mnemonics for these buttons because there are standard keyboard shortcuts (Enter for OK, Esc for Cancel and F1 for Help).

- Due to a JDK 1.3 bug (fixed in JDK 1.4), the default button would be the last button to have the focus.

These problemhave been corrected.



CR:301110
CR Number:   301110
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 4085 27 Nov 2002 Fixed
8.0.3 4531 27 Nov 2002 Fixed
Description
A stored procedure cursor declared using the form:

DECLARE CURSOR c USING variable-name

could have caused an error or returned incorrect results. The problem would have occurred after the procedure had been called more than 11 times. While this is now fixed, a workaround is to set the value of the Max_plans_cached option to 0.



CR:301116
CR Number:   301116
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   7.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
7.0.4 3393 02 Dec 2002 Fixed
Description
The server could have crashed when executing the MESSAGE statement. This is now fixed.



CR:301210
CR Number:   301210
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 4622 31 Mar 2003 Fixed
8.0.2 4233 31 Mar 2003 Fixed
Description
If a procedure which is no longer valid (eg. syntax in the procedure is no longer supported), then preparing the procedure for execution via ODBC would have caused the server to crash. This has been fixed and the error message 'procedure is no longer valid' will now be returned to the application.



CR:301242
CR Number:   301242
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.1 3077 25 Nov 2002 Fixed
8.0.2 4083 25 Nov 2002 Fixed
8.0.3 4530 25 Nov 2002 Fixed
Description
Using 'LOAD TABLE' to load data into a table could have caused some data to 'disappear'. For example, after loading 5000 rows of data into an empty table the statement 'select count(*) from table' could return a value less than 5000. Also, selecting all of the rows could return some subset of the rows that were loaded. All of the following would need to be true to experience this problem:

1) The table into which the data was loaded was empty

2) The table into which the data was loaded contained more than one database page

3) The resulting table after the 'LOAD TABLE' statement contained at least 100 database pages



Databases experiencing this problem should be rebuilt. Unload the database using DBUNLOAD and make sure to unload the data 'ordered'. CAUTION: If you do an 'unordered' unload of the database the missing rows will be permanently lost.



CR:301264
CR Number:   301264
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)
8.0.3 4527 26 Nov 2002 Fixed
Description
The default behaviour in dbmlsync was to not upload cascaded deletes or operations performed in triggers. This could have caused the results of a synchronization to depend on when synchronization occurs, like the situation described below.



Suppose table T1 contains a foreign key to table T2 with the 'ON DELETE CASCADE' option. T1 ad T2 are defined identically on the remote and consolidated databases. The following operations occur:



1. Insert R2 into T2

2. Insert R1 into T1 (R1 contains a foreign key reference to R2)

3. Delete R2 for T2

4. Step 3 results in a cascaded delete which results in R1 being deleted from T1



If a synchronization occurs after steps 2 and 4, then the consolidated and remote databases end up in the same state. On the first synchronization dbmlsynce uploads:



Insert R2 into T2

Insert R1 into T1



On the second synchronization dbmlsync uploads:



Delete R2 from T2



On the consolidated database, R1 will be deleted from T1 by a cascaded delete. Thus, neither R1 nor R2 is left in either database.



However if a synchronization only occurred after step 4, then a synchronization error occurs. In this case, dbmlsync will coalesce the insert and delete of R2 into a no op and upload no operation on T2. However, it will still upload the insert of R1 into T1. When this insert is applied on the consolidated database a referential integrity violation occurs because R1 has a foreign key that refers to R2 and R2 has never been uploaded.



To resolve this situation, dbmlsync now treats cascaded deletes and deletes that occur in a trigger specially. When it encounters a trigger/cascaded delete, dbmlsync now checks if there is a previous operation on the same row already included in the upload stream. If an operation exists the delete will be coalesced with that operation and uploaded. Otherwise the delete will be ignored.



In the example above this new behaviour prevents the error when a synchronization occurred after step 4, by preventing the insert of R1 from being uploaded.



CR:301293
CR Number:   301293
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)
8.0.3 4527 26 Nov 2002 Fixed
8.0.2 4083 26 Nov 2002 Fixed
8.0.1 3077 26 Nov 2002 Fixed
8.0.0 2354 26 Nov 2002 Fixed
Description
A MobiLink client on a Pocket PC 2002 device, using ActiveSync synchronization over an ethernet connection, would have failed to find the ActiveSync provider on the desktop. This is now fixed.



CR:301342
CR Number:   301342
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)
8.0.1 3078 25 Nov 2002 Fixed
8.0.2 4083 25 Nov 2002 Fixed
8.0.3 4530 25 Nov 2002 Fixed
Description
Validating the database may have changed the rowcount (column "count") value in SYSTABLE. The first validation would have given the error 'Run time SQL error -- row count in SYSTABLE incorrect'. Validating the database a second time would have returned no error. The rowcount value in SYSTABLE is now no longer updated when validating the database.



CR:301414
CR Number:   301414
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 4082 25 Nov 2002 Fixed
Description
The START DATABASE statement now allows a database to be started in read-only mode or with log truncation on checkpoint enabled.



New syntax:



START燚ATABASE燿atabase-file

[燗S燿atabase-name燷

[燨N爀ngine-name燷

[燗UTOSTOP爗燨N爘燨FF爙燷

[ WITH TRUNCATE AT CHECKPOINT ]

[ FOR READ ONLY ]

[燢EY爇ey燷



CR:301415
CR Number:   301415
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)
8.0.3 4530 28 Nov 2002 Fixed
8.0.2 4085 28 Nov 2002 Fixed
8.0.1 3078 28 Nov 2002 Fixed
Description
When -d is specified on the dbmlsync command line, dbmlsync attempts to drop any connections that are preventing it from locking tables for synchronization. If the database engine was slow dropping the connections, synchronization would fail with a message like:



SQL statement failed: (-210) User '<username>' has the row in '<tablename>' locked



In this situation dbmlsync now tries for longer than it did in the past so failures of this type should be much more infrequent.



CR:301419
CR Number:   301419
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 4530 26 Nov 2002 Fixed
8.0.2 4084 26 Nov 2002 Fixed
Description
An INSERT WITH AUTO NAME embedded within a stored procedure would have failed, usually with SQLCODE -207.

For example:

CREATE TABLE T (

PKEY INTEGER NOT NULL DEFAULT AUTOINCREMENT,

DATA1 INTEGER NOT NULL,

PRIMARY KEY ( PKEY ) );



CREATE PROCEDURE P()

BEGIN

INSERT T WITH AUTO NAME SELECT 1 AS DATA1;

END;



CALL P(); -- ASA Error -207: Wrong number of values for INSERT



Using WITH AUTO NAME on an INSERT statement on its own (outside of a procedure context) would work have worked correctly. This is now fixed.



CR:301502
CR Number:   301502
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4636 15 Apr 2003 Fixed
8.0.2 4241 15 Apr 2003 Fixed
8.0.1 3111 15 Apr 2003 Fixed
7.0.4 3440 15 Apr 2003 Fixed
Description
When an OLE DB schema rowset is opened to retrieve the parameter information, the ASA provider executes the stored procedure 'sa_oledb_procedure_parameters' which takes four parameters 'inProcedureCatalog', 'inProcedureSchema', 'inProcedureName' and 'inParameterName'. If the 'inProcedureSchema' parameter was not specified by, (such as is done by Delphi applications), the default value of 'current user' was used. If this was not the same as the user that created the procedure, no records would have been returned. This is now fixed by changing the default value of 'inProcedureSchema' to the empty string ('').



CR:301567
CR Number:   301567
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4517 26 Nov 2002 Fixed
8.0.2 4079 26 Nov 2002 Fixed
8.0.1 3072 26 Nov 2002 Fixed
Description
The event_parameter function can now be used to determine the name of the schedule which caused an event to be fired. The value of:

event_parameter('ScheduleName')

will be the name of the schedule which fired the event. If the event was fired manually using TRIGGER EVENT or as a system event, the result will be an empty string. If the schedule was not assigned a name explicitly when it was created, its name will be the name of the event.



CR:301575
CR Number:   301575
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)
8.0.2 4085 28 Nov 2002 Fixed
8.0.1 3078 28 Nov 2002 Fixed
7.0.4 3392 28 Nov 2002 Fixed
Description
When there were approximately one hundred idle connections with liveness enabled, liveness packets would have been sent out in large bursts. These bursts could potentially have caused performance problems or dropped connections. This fix attempts to avoid sending liveness packets in large bursts.



CR:301603
CR Number:   301603
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)
8.0.1 3078 28 Nov 2002 Fixed
8.0.2 4085 27 Nov 2002 Fixed
8.0.3 4531 27 Nov 2002 Fixed
Description
The sa_validate stored procedure would return errors containing garbage values. This has been fixed.



CR:301739
CR Number:   301739
Product Name:   MobiLink
Product Component:   Monitor
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4532 28 Nov 2002 Fixed
8.0.2 3602 28 Nov 2002 Fixed
Description
On Unix platforms, using File Save As in the MobiLink Monitor would have written the file to the initial directory displayed in the dialog, instead of the last directory chosen. If the user did not have write permissions in that directory, then the Monitor would have given an inappropriate "file ... could not be found" message. Also, on both Windows and Unix the Monitor would not have added an extension, if there was a period anywhere in the file path. So an error message would have resulted, if the file name did not end in either .csv or .mlm, and you could override the file type specified in the dialog by typing the other file extension as part of the file name.



These problems have been fixed. The MobiLink Monitor now saves to the expected directory for both Windows and Unix. Trying to save to a directory without write permission on Unix, now gives a "file ... could not be accessed" message. For both Windows and Unix, the Monitor now adds the extension chosen in the Save dialog, if it is not already at the end of the file name.



CR:301764
CR Number:   301764
Product Name:   UltraLite
Product Component:   UltraLite for eMbedded Visual Basic
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4532 28 Nov 2002 Fixed
8.0.2 4085 28 Nov 2002 Fixed
Description
Coding a loop searching for values using table.FindFirst.. table.FindNext would have failed because table.FindNext would have always returned False, even when the search was found.



Workaround:



Instead of looping on table.FindNext, check for table EOF



Instead of:

While table.FindNext

' process match

Wend

Use:

Do

table.FindNext

If table.EOF Then Exit Do

' process match

Loop



CR:301923
CR Number:   301923
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4533 28 Nov 2002 Fixed
8.0.2 4086 28 Nov 2002 Fixed
Description
If a personal server was running, and a network server was also running on another machine with the same name, and there is an entry in the asasrv.ini file for the remote server, dbisql would have connected to the remote server even without having specifying an engine name or links. This could have happened on any dblib / odbc connection that specified LocalOnly=YES. This has been fixed.



CR:301929
CR Number:   301929
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.03
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4533 29 Nov 2002 Fixed
8.0.2 3604 29 Nov 2002 Fixed
8.0.1 3079 29 Nov 2002 Fixed
Description
In rare circumstances, the backup copy of a transaction log created by the image-backup form of the BACKUP statement could have been corrupt. The bug does not apply to "archive backups" created by the BACKUP statement nor does it apply to the dbbackup command line utility. The problem which is now fixed, was more likely to show up on SMP machines and could only happen if operations were being performed while the log was being backed up.



CR:301968
CR Number:   301968
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 4535 02 Dec 2002 Fixed
8.0.2 4087 02 Dec 2002 Fixed
Description
A query with a merge join, meeting the following conditions, may have returned too few rows:

1 - The join condition was an equality predicate, (call this predicate P1).

2 - There was a non-equality predicate referring to columns from both tables, (call this predicate P2).

3 - At least one row from the left hand table, joined to multiple rows from the right hand table.

4 - P2 rejected at least one row that would be in the result, if P1 was the only predicate in the query.

4) Merge join is chosen by the optimizer.



This has been corrected.



CR:302150
CR Number:   302150
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 463 03 Dec 2002 Fixed
Description
If store encryption was enabled, but no key was supplied in the storage parameters, the key could not have been subsequently changed (attempts to open the database would have failed). Now this case is permissible, but the database is still not actually encrypted to begin with, if no key is supplied -- encryption must be enabled and a key specified to encrypt the database.

In addition, an error is now returned if an empty string is passed to ULChangeEncryptionKey. The motivation for this is that an empty key cannot be specified in the storage parameters string. There would be no way to decrypt such an encrypted database (that is, specifying an empty key would not do it).



CR:302180
CR Number:   302180
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4538 04 Dec 2002 Fixed
8.0.2 4088 04 Dec 2002 Fixed
8.0.1 3081 04 Dec 2002 Fixed
8.0.0 2356 04 Dec 2002 Fixed
Description
When using the JDBC-ODBC bridge, calls to PreparedStatement.getMetaData() were returning null all the time. This is now fixed.



CR:302216
CR Number:   302216
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4545 10 Dec 2002 Fixed
8.0.2 4092 10 Dec 2002 Fixed
8.0.1 3084 10 Dec 2002 Fixed
Description
The error message "The system DLL kernel32.dll was relocated in memory. The application will not run properly. The relocation occurred because the DLL c:\program files\sybase\SQL Anywhere 8\win32\dbserv8.dll occupied an address range reserved for windows NT system DLLs. The vendor supplying the DLL should be contacted for a new DLL.", could have been displayed when attempting to start the server. This has been fixed.

This error message only seemed to occur after applying a specific Microsoft Hotfix (Q299444).



CR:302224
CR Number:   302224
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)
8.0.3 4539 04 Dec 2002 Fixed
8.0.2 4088 04 Dec 2002 Fixed
8.0.1 3081 04 Dec 2002 Fixed
Description
Dbmlsync was leaking TLS indexes and memory on the first failed MobiLink connection attempt. The leak did not grow for subsequent connection failures throughout the process. This is now fixed.



CR:302303
CR Number:   302303
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4541 09 Dec 2002 Fixed
8.0.2 4090 09 Dec 2002 Fixed
8.0.1 3083 09 Dec 2002 Fixed
7.0.4 3396 09 Dec 2002 Fixed
Description
An ODBC application could have crashed, if it called SQLGetDiagRec or SQLGetDiagRecW with the record number parameter greater than 2 and there were three or more diagnostic records. This has been fixed.



CR:302304
CR Number:   302304
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4546 09 Dec 2002 Fixed
8.0.2 4087 17 Dec 2002 Fixed
Description
A new feature has been added such that when the dbmlsync top-level window receives a window message registered using the name "dbas_synchronize" while sleeping, it will weakup and perform a synchronization. If dbmlsync is already performing synchronization, the message will be ignored.



CR:302305
CR Number:   302305
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4527 04 Dec 2002 Fixed
8.0.2 4088 04 Dec 2002 Fixed
8.0.1 3071 04 Dec 2002 Fixed
Description
Performance improvements were done for several internal functions used by the optimizer. These changes may reduce the OPEN time for very complex queries.



CR:302314
CR Number:   302314
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4532 05 Dec 2002 Fixed
8.0.2 4088 05 Dec 2002 Fixed
8.0.1 3073 05 Dec 2002 Fixed
Description
For statements used in the procedures, plans may be cached after a training period (i.e., after a procedure has been called a few times). For statements for which it is anticipated that the plans will not change too often, the training period is now shorter, hence, the plans are saved much sooner than before. Statements in this category include UPDATE/DELETE/SELECT statements on one table with a WHERE equality predicate on the primary key.



CR:302330
CR Number:   302330
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4539 05 Dec 2002 Fixed
8.0.2 4088 05 Dec 2002 Fixed
8.0.1 3082 05 Dec 2002 Fixed
Description
Selecting property('TempDir') when connected to a NetWare server would have returned a random string on 8.0.1, or "SYS:" on 8.0.2 and up. On NetWare, temp files for a database are located in the same directory as the database, so the value of this property is meaningless. It has now been changed to return an empty string.



CR:302337
CR Number:   302337
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   5.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4539 04 Dec 2002 Fixed
Description
If dbisqlc was minimized and executing a SQL script and an error occurred, it would have appeared as if dbisqlc has stopped functioning. The window could not be restored and no error dialog appeared. The error dialog was just invisible, so to workaround the problem, clicking the dbisqlc icon in the taskbar and hitting the 'enter' key would allow dbisqlc to continue processing.

As of this fix, when an error occurs the dbisqlc window will be restored and the error dialog will appear



CR:302368
CR Number:   302368
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4548 05 Dec 2002 Fixed
8.0.2 4093 05 Dec 2002 Fixed
8.0.1 3086 05 Dec 2002 Fixed
8.0.0 2356 05 Dec 2002 Fixed
7.0.4 3394 05 Dec 2002 Fixed
Description
DBISQL would have reported an internal error, if an INPUT statement was executed which read a FIXED format file and all of the following were true:

- The table contained more than one column

- The INPUT statement contained a COLUMN WIDTHS clause

- Fewer column widths were given in the COLUMN WIDTHS clause than there are columns in the table

- The INPUT statement did not explicitly list the table columns



CR:302381
CR Number:   302381
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4539 05 Dec 2002 Fixed
8.0.2 4088 05 Dec 2002 Fixed
8.0.1 3082 05 Dec 2002 Fixed
7.0.4 3394 05 Dec 2002 Fixed
Description
It was possible that a client application, using the ASA provider, could have overwritten memory when updating or inserting a record in an ADO recordset or through the irowsetupdate or irowsetinsert interfaces. This has been fixed.



CR:302394
CR Number:   302394
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)
8.0.3 4563 05 Dec 2002 Fixed
Description
There are a number of corrections to SQLSetPos and SQLBulkoperations for a variety of problems.



We now correctly set the row status array in many more situations.



We now correctly select which row status array to update; either the one passed in SQLExtendedFetch or the one specified by SQLSetStmtAttr(SQL_ATTR_ROW_STATUS_PTR).



We now correctly set the rows processed counter specified by SQLSetStmtAttr(SQL_ATTR_ROWS_FETCHED_PTR) in many more situations.



We now correctly set the row count value returned by SQLRowCount in many more situations.



Please note that bookmark values are not supported, at present, when adding rows using keyset driven cursors in SQLBulkOperations(SQL_ADD).



When the SQL_ATTR_CONCURRENCY setting is SQL_CONCUR_READ_ONLY, then SQLBulkOperations(SQL_ADD, SQL_UPDATE_BY_BOOKMARK, or SQL_DELETE_BY_BOOKMARK) returns an error (HY092). This is the setting for static cursors so, beginning with version 8.0, they can no longer be used to obtain bookmark values for SQL_ADD.



We now diagnose cases when SQLSetPos is called after SQLBulkOperations is called and before SQLFetchScroll or SQLFetch is called.



We no longer insert empty rows, in SQLSetPos(SQL_ADD), for those rows marked SQL_ROW_IGNORE using the row operation array.



We no longer ignore rows where the corresponding row status array value was SQL_ROW_NOROW.



We now set the row status array value to SQL_ROW_NOROW when a "row not found" erorr occurs in SQLBulkOperations(SQL_DELETE_BY_BOOKMARKS, SQL_UPDATE_BY_BOOKMARKS, SQL_FETCH_BY_BOOKMARKS). We no longer try to access bound column data in SQLBulkOperations(SQL_FETCH_BY_BOOKMARKS) when a "row not found" error occurs.



We fixed a problem when updating more than 1 row using SQLBulkOperations(SQL_UPDATE_BY_BOOKMARKS).



We fixed a problem when fetching more than 1 row using SQLBulkOperations(SQL_FETCH_BY_BOOKMARKS).



We no longer inspect the row operation array for SQL_ROW_IGNORE in SQLBulkOperations(SQL_ADD).



CR:302400
CR Number:   302400
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)
8.0.3 4539 05 Dec 2002 Fixed
8.0.2 4088 05 Dec 2002 Fixed
8.0.1 3082 05 Dec 2002 Fixed
Description
A bug has been fixed that could have caused any of the following problems with dbmlsync when running on Windows CE:



1) Crashes

2) Hanging

3) failure to add messages to the message log



CR:302410
CR Number:   302410
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4532 05 Dec 2002 Fixed
8.0.2 4088 05 Dec 2002 Fixed
8.0.1 3076 05 Dec 2002 Fixed
Description
Batch statements executed outside procedures, triggered the deletion of all cached plans. For example, when the following script was executed, the plans saved during the execution of the procedures 'proc1' and 'proc2' were all deleted after the message statement, (the MESSAGE statement is considered a batch). Now, only batch statements that change the plan cache, triggers the deletion of cache. In the example below, the cache plan is left unchanged after the message statement.



EXEC proc1;

EXEC proc2;

Message 'some message';



CR:302457
CR Number:   302457
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4540 06 Dec 2002 Fixed
8.0.2 4090 06 Dec 2002 Fixed
8.0.1 3082 06 Dec 2002 Fixed
Description
If a query contained an IN predicate on a table which had an ORDER BY clause on another column, the rows could have been returned in an order that did not match the ORDER BY clause. For the rows to be mis-ordered, the following conditions must hold:

- An index is selected on the table to satisfy the IN predicate

- The IN predicate appears in the index before the column in the ORDER BY



For example, the following query could exhibit the problem if an index on T(a,b) was selected:



SELECT * FROM T WHERE T.a IN (1,2) AND T.b>3 ORDER BY T.b



This is now fixed.



CR:302473
CR Number:   302473
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 2248 11 Mar 2004 Fixed
Description
The server could have hung, with with 100% cpu utilization, if it attempted to delete a page from a table in a corrupt database. Now, the server will fail with assertion error 200608, (Corrupt links between pages {page id} and {page id} in table {table name} -- transaction rolled back), if mislinked table pages are detected.



CR:302554
CR Number:   302554
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)
8.0.3 4540 06 Dec 2002 Fixed
8.0.2 4090 09 Dec 2002 Fixed
8.0.1 3082 09 Dec 2002 Fixed
7.0.4 3395 09 Dec 2002 Fixed
Description
SQLColAttributes and SQLColAttribute would have returned the type as "char" for the following column types:

LONG VARCHAR

BINARY

VARBINARY

LONG VARBINARY

BIGINT

TINYINT

BIT

GUID



The correct type name is now returned.



CR:302555
CR Number:   302555
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)
8.0.3 4552 20 Dec 2002 Fixed
8.0.2 4095 20 Dec 2002 Fixed
8.0.1 3087 20 Dec 2002 Fixed
Description
Calling the ODBC function SQLGetInfo() for SQL_OJ_CAPABILITIES would not have reported that "Full outer joins are supported" (SQL_OJ_FULL). SQL_OJ_FULL has now been added to the list of outer join capabilities.



CR:302606
CR Number:   302606
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 4571 27 Jan 2003 Fixed
8.0.2 4206 27 Jan 2003 Fixed
8.0.1 3096 27 Jan 2003 Fixed
Description
Support for the Borland compiler was missing in 8.0.x releases. In particular:

- compiling dbtools.h failed

- the dbtools and dblib import libraries (dbtlstb.lib and dblibtb.lib) were missing

- samples\asa\c\makeall.bat failed to build using the Borland compiler.



This has been fixed. Note that due to a limitation of newer Borland linkers, Borland compiler built Embedded SQL applications must now compile and link src\sqlcadat.c (in the Adaptive Server Anywhere install directory) into each Embedded SQL application. This is in addition to linking against dblibtb.lib.



CR:302620
CR Number:   302620
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4571 23 Jan 2003 Fixed
8.0.2 4253 02 May 2003 Fixed
8.0.1 3113 25 Jun 2003 Fixed
Description
MobiLink synchronization was not working for the following three Japanese characters when used with a Japanese database (collation 932JPN):



0x8160 Wave Dash

0x8161 Double Vertical Line

0x817c Minus Sign



The has been fixed.



CR:302635
CR Number:   302635
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 4541 10 Dec 2002 Fixed
8.0.2 4090 10 Dec 2002 Fixed
Description
It was possible for an INSERT statement, using the ON EXISTING UPDATE clause, to silently fail if the row it was attempting to modify was locked. This is now fixed.



CR:302654
CR Number:   302654
Product Name:   UltraLite
Product Component:   UltraLite for eMbedded Visual Basic
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4541 09 Dec 2002 Fixed
8.0.2 4090 09 Dec 2002 Fixed
Description
ActiveX for Ultralite for CE is now available for the Pocket PC 2002 Emulator (Intel 386 architecture).



CR:302754
CR Number:   302754
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   7.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
11 Dec 2002 Presently Not Targeted For Any Future Release Of This Product
Description
The below statement returns the error:

Msg 13829, Level 12, State 0:

ASA Error -823: OMNI cannot handle expressions involving remote tables inside

stored procedures



if exists( select 1 from test where id=1)and exists( select 1 from test where id=1)

print "toto"

go



CR:302757
CR Number:   302757
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4541 10 Dec 2002 Fixed
8.0.2 4090 10 Dec 2002 Fixed
8.0.1 3083 10 Dec 2002 Fixed
Description
If a procedure, trigger, view or event handler was created with a trailing semi-colon, the preserved format of the object definition would have included the semi-colon as well. This would have resulted in an error if the database was later rebuilt. The semi-colon is now removed when the object is created. A workaround is to recreate the affected objects without the trailing semi-colon. The following queries can be used to find affected objects:

select * from SYS.SYSTABLE where substr(source,length(source),1) = ';'

select * from SYS.SYSPROCEDURE where substr(source,length(source),1) = ';'

select * from SYS.SYSTRIGGER where substr(source,length(source),1) = ';'

select * from SYS.SYSEVENT where substr(source,length(source),1) = ';'



CR:302789
CR Number:   302789
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   7.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4546 09 Dec 2002 Fixed
8.0.2 4093 17 Dec 2002 Fixed
8.0.1 3085 17 Dec 2002 Fixed
Description
When an ActiveSync synchronization was initiated, the desktop provider would wait 30 seconds for a response from the client and would fail if it didn't receive it. This timeout value can now be set using a new -t flag when running dbasinst to register the ActiveSync provider. Here is a description of the -t flag from dbainst's new usage:



-t<n> the desktop provider should wait n seconds for a

response from the client before timing out; the

default is 30



dbasinst stores the timeout value in the registry under "HKEY_LOCAL_MACHINE\SOFTWARE\Sybase\MobiLink\ActiveSync Synchronization\Connection Timeout".



CR:302812
CR Number:   302812
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)
8.0.3 4544 09 Dec 2002 Fixed
8.0.2 3605 09 Dec 2002 Fixed
Description
In very rare situations, the server could have crashed while attempting to shutdown in response to a dbstop command with a connection string or when a client tried to disconnect normally. This is now fixed.



CR:302822
CR Number:   302822
Product Name:   MobiLink
Product Component:   scripts
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4544 11 Dec 2002 Fixed
8.0.2 4092 11 Dec 2002 Fixed
Description
If code executed in a user implemented shutdown listener called addShutdownListener() or removeShutdownListener() during shutdown, an exception could have apeared in the MobiLink output log and some shutdown listeners may not have been called at shutdown time. This is now fixed.



CR:302905
CR Number:   302905
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)
8.0.3 4545 10 Dec 2002 Fixed
8.0.2 4092 10 Dec 2002 Fixed
Description
The server would have crashed if a null expression was passed into a string parameter when calling an internal stored procedure. This is now fixed.



CR:302917
CR Number:   302917
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)
8.0.3 4545 10 Dec 2002 Fixed
8.0.2 4092 10 Dec 2002 Fixed
Description
When writing preserved syntax to the reload.sql file, no newline was added between the end of the object syntax and the 'preserve format' statement. This meant that if a procedure, trigger, view or event handler was created with a trailing comment, an error would occur when trying to rebuild the database. While this is now fixed, a workaround for the problem is to avoid placing a comment at the end of the object.



CR:302923
CR Number:   302923
Product Name:   MobiLink
Product Component:   Streams
Status:   Closed
OS:   Generic
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4544 18 Dec 2002 Fixed
8.0.2 4091 18 Dec 2002 Fixed
8.0.1 3083 18 Dec 2002 Fixed
7.0.4 3396 18 Dec 2002 Fixed
Description
When the stream connection string contained an invalid value for the "version" option (ie. anything other than "1.0" or "1.1"), or an invalid value for the "content_type" option (ie. anything other than "fixed" or "chunked"), the stream would have leaked a few bytes of memory. It was possible for synchronizations to succeed, even though the options are specified incorrectly. Both the HTTP and HTTPS streams were affected and are now fixed.



CR:302925
CR Number:   302925
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4546 11 Dec 2002 Fixed
8.0.2 4092 11 Dec 2002 Fixed
8.0.1 3084 11 Dec 2002 Fixed
8.0.0 2357 11 Dec 2002 Fixed
Description
Using a Database, Message Type or User property sheet to set a publisher's, consolidated user's or remote user's address for SQL Remote, would have removed any backslashes in the address unless they were doubled up. They needed to be double up each time a change was made to settings on the page of the property sheet. This has been fixed.
Workaround Description
 As workaround, ct needs to change the address information forcing the address this way : "c:\\\\subcase\\ " for each change that he does via Sybase central for this remote user in Subscriptions folder.



CR:302927
CR Number:   302927
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4563 10 Dec 2002 Fixed
Description
Calling the 2.0 ODBC function:

SQLTransact(henv, SQL_NULL_HDBC, type);

where type = SQL_COMMIT or SQL_ROLLBACK and a NULL statement handle, would have failed to commit or roll back the transactions on all open connections associated with the enviroment handle. Similarly, calling the 3.0 ODBC function:

SQLEndTran(SQL_HANDLE_ENV, henv, type);

where type = SQL_COMMIT or SQL_ROLLBACK would also have failed to commit or roll back the transactions on all open connections associated with the enviroment handle. This is now fixed.
Workaround Description
 As workaround, ct needs to change the address information forcing the address this way : "c:\\\\subcase\\ " for each change that he does via Sybase central for this remote user in Subscriptions folder.



CR:302936
CR Number:   302936
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Windows CE 2.11
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4563 07 Jan 2003 Fixed
8.0.2 4199 07 Jan 2003 Fixed
8.0.1 3092 07 Jan 2003 Fixed
7.0.4 3406 07 Jan 2003 Fixed
Description
It was possible that an application could have crashed, or failed to insert a row, when calling the rowset update function (or the AddNew and Update functions) in ADO. This has now been fixed.



CR:302959
CR Number:   302959
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4582 17 Feb 2003 Fixed
8.0.2 4216 17 Feb 2003 Fixed
7.0.4 3420 18 Feb 2003 Fixed
Description
A query with a proxy table and an alias in the select list may have caused the server to crash or hang with 100% cpu utilization. This is now fixed.
Workaround Description
 Substitute the variable in Where clause to the correct value



CR:302966
CR Number:   302966
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4524 12 Dec 2002 Fixed
8.0.2 3604 12 Dec 2002 Fixed
Description
The Mobilink server, when using the HTTP or HTTPS stream, could have crashed on shutdown. On Windows, this would have left the Icon in the Task Bar. This is now fixed.



CR:303048
CR Number:   303048
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 4546 13 Dec 2002 Fixed
8.0.2 4092 13 Dec 2002 Fixed
8.0.1 3085 13 Dec 2002 Fixed
7.0.4 3397 13 Dec 2002 Fixed
Description
A FOR statement in a stored procedure would have created string variables for date, time or timestamp expressions in the SELECT list of the FOR query, if the Return_date_time_as_string option was ON. Now, the variables are created with the same data types as the expressions.



CR:303115
CR Number:   303115
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4546 17 Dec 2002 Fixed
8.0.2 3609 17 Dec 2002 Fixed
Description
If a procedure had an OUT paramter of type binary, long binary, varchar or longvarchar then attempting to execute the procedure using the JDBC-ODBC bridge would not have worked. This problem has now been fixed.



CR:303124
CR Number:   303124
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   7.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4546 13 Dec 2002 Fixed
8.0.2 3607 13 Dec 2002 Fixed
8.0.1 3085 13 Dec 2002 Fixed
8.0.0 2357 13 Dec 2002 Fixed
7.0.4 3397 13 Dec 2002 Fixed
Description
This change resolves a number of sporatically problems which could have been seen:

- failing to connect to the utility_db running on a network server

- failing to connect to a server while using a FILEDSN (or any ODBC DSN on UNIX)



For either of the above to have occurred, the file containing the utility_db's dba password (util_db.ini) or the FILEDSN, or the UNIX ODBC DSN must have had the following properties:

- the DSN being used was the last one in the file

- the last line of the DSN was the last line in the file

- the last line of the file was either not terminated, or terminated with a single line-feed char (i.e. not carriage-return/line-feed as on Windows platforms)



For example, the client could have failed to connect to the utility_db on the first attempt, but be successful if the exact same client connect string was specified a second (or third) time. Then if tried immediately again it could have failed again, etc.



This has been fixed, but a work-around is to add a blank line to the end of the file.



CR:303136
CR Number:   303136
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Windows CE 2.11
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4574 31 Jan 2003 Fixed
8.0.2 4209 31 Jan 2003 Fixed
8.0.1 3097 31 Jan 2003 Fixed
Description
When running on Windows CE dbmlsync would sometimes have failed a synchronization with the error message "Cannot load dbsock8.dll". Other DLL's, such as dbhttp8.dll, could also have reported as have failed to load. Once the error occurred it was likely to have occurred consistently until the device was reset. A new switch has been added to resolve this issue. The syntax of the new switch is -pd <dllname>;<dllname>;.... For example



-pd dbsock8.dll

-pd dbsock8.dll;dbhttp8.dll



To resolve the problem identify the communication protocols to be used by dbmlsync during this synchronization then use the -pd switch to preload the DLL's used for those protocols as follows



tcpip dbsock8.dll

http dbhttp8.dll

https dbhttps8.dll



We STRONGLY encourage everyone using dbmlsync on CE to use this switch even if they have not encountered the error.



CR:303141
CR Number:   303141
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4546 13 Dec 2002 Fixed
8.0.2 4092 13 Dec 2002 Fixed
Description
When dbmlsync was run using the DBSynchronizeLog entry point in the dbtools DLL, a crash could have resulted if an 8.0.2 or later version of the dbtool8.dll was used with an older version of the a_sync_db structure. The a_sync_db structure is used to pass parameters to the DBSynchronizeLog entry point. This problem has been fixed.



CR:303208
CR Number:   303208
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4547 17 Dec 2002 Fixed
8.0.2 3609 17 Dec 2002 Fixed
Description
If a procedure had an INOUT parameter, then executing the procedure using the JDBC-ODBC bridge would have resulted in an error.



CR:303278
CR Number:   303278
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)
8.0.3 4562 14 Jan 2003 Fixed
8.0.2 4202 14 Jan 2003 Fixed
7.0.4 4309 14 Jan 2003 Fixed
Description
An INSERT ... SELECT statement, which contained a UNION involving a non-existent user-defined function, would have caused a server crash when executed. This problem has now been fixed and a "procedure not found" error message will now be returned.



CR:303294
CR Number:   303294
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)
8.0.3 4547 13 Dec 2002 Fixed
8.0.2 4093 13 Dec 2002 Fixed
8.0.1 3085 13 Dec 2002 Fixed
Description
The server collects statistics on predicate selectivities during query execution and updates the existing column statistics accordingly. The server was missing some opportunities of lowering incorrect statistics when doing multi-column index scans. This problem has now been fixed.



CR:303297
CR Number:   303297
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4547 17 Dec 2002 Fixed
8.0.2 4093 17 Dec 2002 Fixed
Description
If a parameter or column was fetched as numeric and then retrieved as bigdecimal, the bridge fails to convert the value correctly. Ths problem has now been fixed.



CR:303298
CR Number:   303298
Product Name:   MobiLink
Product Component:   Streams
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4547 13 Dec 2002 Deferred
8.0.2 4093 13 Dec 2002 Fixed
Description
Synchronizations with HTTP 1.1 and nonpersistent connections through a proxy server could have failed. This is now fixed.



CR:303302
CR Number:   303302
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4547 13 Dec 2002 Fixed
8.0.2 3605 13 Dec 2002 Fixed
Description
Synchronizations using HTTP through a proxy server would have failed, if the proxy server changed the content encoding of the message body from fixed length to chunked. This is now fixed.



CR:303304
CR Number:   303304
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4553 13 Dec 2002 Fixed
8.0.2 4095 20 Dec 2002 Fixed
8.0.1 3088 20 Dec 2002 Fixed
Description
Calling the ODBC function SQLGetInfo() for SQL_GROUP_BY, would have incorrectly returned the capability SQL_GB_NO_RELATION, (The columns in the GROUP BY clause and the SELECT list are not related). Now, the correct capability SQL_GB_GROUP_BY_CONTAINS_SELECT is returned, (The GROUP BY clause must contain all non-aggregated columns in the select list).



CR:303370
CR Number:   303370
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.3 4565 10 Jan 2003 Fixed
8.0.2 4098 10 Jan 2003 Fixed
Description
An assertion failure such as:

102300: File associated with given page id is invalid or not open.

could have occurred when processing a query that skipped a string column that appeared on a continuation page. A continuation page is used for a row when a row does not fit entirely on one page. For example, this can occur if a column is added to an existing table.



CR:303384
CR Number:   303384
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.3 4574 31 Jan 2003 Fixed
8.0.2 4209 31 Jan 2003 Fixed
7.0.4 3414 31 Jan 2003 Fixed
Description
If a remote table A had two separate foreign key columns c1 and c2, both referencing table B. the sa_migrate system procedure would have attempted to import both foreign keys as a single foreign key relationship; ie (c1, c2) references B(p1,p1), resulting in the error "foreign key p1 already referenced". This problem has now been fixed.
Workaround Description
 1. In the src database, drop one of the foreign key relationships

2. In the dest database, call sa_migrate

3. Re-add the foreign key relationship in both src and dest databases



CR:303389
CR Number:   303389
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)
8.0.3 4577 07 Feb 2003 Fixed
8.0.2 4093 07 Feb 2003 Fixed
8.0.1 3099 07 Feb 2003 Fixed
Description
When looking up the selectivity estimates for a predicate on values currently out of range of the column histogram, the server could have used an inappropriate values, such as 0%. Now, the server handles these cases of selectivity look-ups and subsequent updates more appropriately.



CR:303401
CR Number:   303401
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 4573 18 Dec 2002 Fixed
8.0.2 4118 30 Jan 2003 Fixed
Description
An server crash could have occurred if the following conditions were true:

- optimization logging was enabled

- the option LOG_DETAILED_PLANS was set to ON

- the query being logged was a complex statement

- the optimization strategy for the query was *not* being logged through the use of one of the PLAN() functions.

This is now fixed.



CR:303402
CR Number:   303402
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.3 4574 31 Jan 2003 Fixed
8.0.2 4209 31 Jan 2003 Fixed
7.0.4 3414 31 Jan 2003 Fixed
Description
The sa_migrate system procedure would have migrated indexes incorrectly. For example, given a table T with columns c1,c2,c3,c4,c5 with index i1 on column c1, and index i2 on columns c2 and c5. The generated indexes for the local table would have had two separate but identical indexes, i1 on columns c1,c2 and c5 and i2 on columns c1,c2 and c5. This problem has now been corrected.
Workaround Description
 Manually drop and recreate the indexes after migration...of course the customer has to know that this problem is actually happening.



CR:303457
CR Number:   303457
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)
8.0.3 4548 19 Dec 2002 Fixed
8.0.2 4093 19 Dec 2002 Fixed
8.0.1 3086 19 Dec 2002 Fixed
Description
If a procedure, trigger, view or event handler contained a right brace character, the original source format for the object was not saved. The object would still have been created correctly and would function properly, but its appearance would be altered when viewed from Sybase Central. This has been fixed. A workaround is to remove the right brace character, if it appears only in a comment, or replace it with \x7d or CHAR(0x7d) if it appears within a string.



CR:303563
CR Number:   303563
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)
8.0.3 4551 19 Dec 2002 Fixed
8.0.2 4094 19 Dec 2002 Fixed
8.0.1 3087 19 Dec 2002 Fixed
7.0.4 3400 19 Dec 2002 Fixed
Description
If the SUBSTR function was used to obtain a substring of a LONG VARCHAR column and the third argument was not provided, a value of 32767 was used. The function worked correctly if the first argument was a variable. Now a value of 2147483647 is used. For expressions such as variables, where the string length is known when the expression is built, the actual string length will continue to be used as the third argument.



CR:303576
CR Number:   303576
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.3 4567 15 Jan 2003 Fixed
8.0.2 4108 15 Jan 2003 Fixed
8.0.1 3095 15 Jan 2003 Fixed
7.0.4 3409 15 Jan 2003 Fixed
Description
The MobiLink server memory usage would have increased over time as synchronizations occurred, even if the synchronization did no processing. This has been corrected.



CR:303602
CR Number:   303602
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.04
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4551 19 Dec 2002 Fixed
8.0.2 4094 19 Dec 2002 Fixed
8.0.1 3087 19 Dec 2002 Fixed
8.0.0 2358 19 Dec 2002 Fixed
7.0.4 3400 19 Dec 2002 Fixed
Description
When attempting a BACKUP DATABASE operation on Windows CE, the process would have failed with the error message:

IO Error 5 doing 'fstat' on file '<backup file name>'.

Ensure that all PC cards are inserted and that storage space is available.

Retry/Cancel.



This has been corrected.



CR:303608
CR Number:   303608
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4551 20 Dec 2002 Fixed
8.0.2 4094 20 Dec 2002 Fixed
8.0.1 3087 20 Dec 2002 Fixed
7.0.4 3400 20 Dec 2002 Fixed
Description
This change fixes a number of provider problems when used with PowerBuilder. Note that a PowerBuilder problem still exists which causes an error dialog when creating catalog tables when connecting to a Database Profile from PowerBuilder for the first time.



The problems fixed include:

1. IDBInitialize::Initialize no longer requires the Data Source property (DBPROP_INIT_DATASOURCE). Before this fix, all connection properties were ignored if there was no Data Source property and the OLE DB driver prompted for connection information.

2. IOpenRowset::OpenRowset was not correctly using passed in properties to determine cursor type & updatability. This also affects ITableDefinition::CreateTable if ppRowset is not NULL.

3. IColumnInfo::GetColumnInfo now only includes bookmark column info if bookmarks are enabled on the rowset.

4. IRowsetUpdate::Update now allows non-NULL pcRows and NULL prgRows. This affects 8.0.0 and up only, since the 7.0.4 OLE DB provider did not give an error in this case. (The Microsoft MSDN Documentation states that this is an error, but I expect that Microsoft OLE DB drivers actually allow this).



CR:303630
CR Number:   303630
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 4573 30 Jan 2003 Fixed
8.0.2 4208 22 Apr 2003 Fixed
Description
On Windows platforms other than CE, if no environment variable was set to define the location for ASA temporary files, a database could not have been started. The temporary file will now be created in the directory where the server was started.



CR:303656
CR Number:   303656
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4552 20 Dec 2002 Fixed
8.0.2 4094 20 Dec 2002 Fixed
Description
The JDBC-ODBC bridge did not properly handle OUT parameters of type TIME, DATE and TIMESTAMP. Sometimes a strange error message may have been thrown when retrieving the OUT paramter, while at other times an unexpected result would have been retrieved. This problem has been fixed.



CR:303657
CR Number:   303657
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4552 20 Dec 2002 Fixed
8.0.2 4094 20 Dec 2002 Fixed
Description
When using the JDBC-ODBC bridge, if a parameter was of type INT, SMALLINT, TINYINT, BIGINT, BIT, REAL, DOUBLE or FLOAT and had the value NULL, then calling getObject would have returned the value 0 instead of returning a null object. This problem has now been

fixed.



CR:303704
CR Number:   303704
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)
8.0.1 3096 20 Jan 2003 Fixed
Description
Pressing F1 to launch the context-sensitive help would have caused a stack trace. This was due to an incompatible help file which was shipped with the EBFs. This has now been corrected.



CR:303715
CR Number:   303715
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.1 3087 17 Dec 2002 Fixed
8.0.0 2358 17 Dec 2002 Fixed
Description
If dbmlsync was scanning an operation in the log file and all the following were true:

- The operation is on a table in the publication

- The where clause in the publication excludes this operation from being sent

- No further operation in the log file on this row caused this operation to be ynchronized

then in rare circumstances, it was possible for dbmlsync to have generated an invalid upload stream. This would most likely be seen as a "Protocol Error" in the Mobilink server. This has been fixed.



CR:303735
CR Number:   303735
Product Name:   MobiLink
Product Component:   Monitor
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4552 19 Dec 2002 Fixed
8.0.2 4095 19 Dec 2002 Fixed
Description
If MobiLink Monitor was started from the Start menu or from a command prompt in a root folder (such as C:\) then the default autosave file name would have had double slashes (such as C:\\autosave.mlm). Also, the Browse dialog would have opened in the user's home folder, rather than with the file specified in the text box. These problems have been fixed.



CR:303784
CR Number:   303784
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)
7.0.4 3400 20 Dec 2002 Fixed
Description
The system procedure xp_stopmail would always have had a returncode of 16 (invalid session handle), even if the previous calls to xp_startmail and xp_sendmail succeeded. While this problem is now fixed, it would only have appeared on databases created by ASA 7.0.4 build 3386 or later. Databases created by earlier versions of ASA should not exhibit this problem.



CR:303869
CR Number:   303869
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 484 07 Jan 2003 Fixed
Description
The Str() function was converting a decimal value to a string incorrectly. This has now been corrected.



CR:303920
CR Number:   303920
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.3 4558 07 Jan 2003 Fixed
8.0.2 4097 07 Jan 2003 Fixed
8.0.1 3090 07 Jan 2003 Fixed
8.0.0 2359 07 Jan 2003 Fixed
Description
When the progress offset in the consolidated database differs from that in the remote database, the MobiLink server will send the consolidated database progress offsets to the remote and ask that it synchronize again, and then waits. However, if the requested offset was too small (old logs had been deleted), or too big (log offset had not been generated), or the offset was in the middle of a log operation, DBMLSync would display an

error, ignore the synchronization request and abort the synchronization. Then the MobiLink server would generate the error "Unable to read from the 'tcpip' (or 'http') network connection". Now if DBMLsync cannot find the requested offset, it sends the MobiLink server an empty upload stream (an upload without any actually user data), plus an error message. The MobiLink server will display this error message and abort the synchronization.



CR:303926
CR Number:   303926
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)
8.0.3 4558 03 Jan 2003 Fixed
8.0.2 4097 03 Jan 2003 Fixed
Description
As of version 8.0.2 the cipher used to encrypt the data stream was changed from Certicom_tls to ECC_tls. For the Mobilink server, both names were kept for backwards compatibility, however this was not done for Ultralite. The documentation currently reads:

"For Hotsync and Scoutsync, the stream parameters need to be specified in the stream parameters in much the same way as for Adaptive Server Anywhere MobiLink clients. The format is:

security=cipher{ keyword=value;... }

where cipher must be certicom_tls... "



This should have read as:

"where cipher must be ecc_tls..."



For backwards compatibility, ecc_tls can also be specified as certicom_tls.



CR:304034
CR Number:   304034
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)
8.0.3 4553 19 Dec 2002 Fixed
8.0.2 4095 19 Dec 2002 Fixed
Description
Inserting into a proxy table would have caused a server crash, if the INSERT statement used the ON EXISTING UPDATE clause. The ON EXISTING UPDATE clause is not supported when inserting into proxy tables and will now cause a syntax error.



CR:304086
CR Number:   304086
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4554 20 Dec 2002 Fixed
8.0.2 4097 20 Dec 2002 Fixed
8.0.1 3088 20 Dec 2002 Fixed
Description
When using the JDBC-ODBC bridge, a race condition could have occurred when calling the following methods, if JDBC objects created on the same connection were used concurrently on different threads:

- IStatement.getColStrAttr

- IResultSetMetaData.getCatalogName

- IResultSetMetaData.getColumnLabel

- IResultSetMetaData.getColumnName

- IResultSetMetaData.getColumnTypeName

- IResultSetMetaData.getSchemaName

- IResultSetMetaData.getTableName



This could have resulted in wrong results or crashes. The problem is now fixed



CR:304151
CR Number:   304151
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4552 20 Dec 2002 Fixed
8.0.2 4096 20 Dec 2002 Fixed
8.0.1 3089 20 Dec 2002 Fixed
Description
Executing an ALTER EVENT statement, to delete an event handler, was not setting the "source" column in the SYSEVENT table to NULL. This is now fixed.



CR:304202
CR Number:   304202
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4555 06 Jan 2003 Fixed
8.0.2 4096 06 Jan 2003 Fixed
8.0.1 3089 06 Jan 2003 Fixed
8.0.0 2358 06 Jan 2003 Fixed
Description
On Unix platforms, when editing table data in Sybase Central, (or dbisql), pressing the TAB (or SHIFT-TAB) key would have resulted in the focus moving over two cells instead of just one. This has now been fixed.



CR:304242
CR Number:   304242
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)
8.0.3 4558 07 Jan 2003 Fixed
8.0.2 4097 07 Jan 2003 Fixed
8.0.1 3090 07 Jan 2003 Fixed
8.0.0 2359 07 Jan 2003 Fixed
Description
Some long messages displayed by dbisql, (or Sybase Central), would not have been properly word wrapped when running on Unix platforms. Instead, the entire message would appear on one line which would be truncated. Long messages now word wrop correctly.



CR:304250
CR Number:   304250
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4559 02 Jan 2003 Fixed
8.0.2 4098 02 Jan 2003 Fixed
8.0.1 3090 02 Jan 2003 Fixed
Description
The STUFF function did not work properly on strings containing multibyte characters. It now handles MBCS strings correctly.





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