远程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:398964
CR Number:   398964
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Linux
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3160 29 Jul 2005 Fixed
10.0.0 1777 08 Aug 2005 Fixed
Description
On Linux Itanium, client applications could not connect to a server if the server was restarted after a crash. This has been fixed. The work-around is to shutdown the server and restart it again.



CR:398980
CR Number:   398980
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1798 17 Aug 2005 Fixed
Description
Prior to this change, there was no method of stripping leading or trailing blanks from data loaded via the LOAD TABLE statement when the QUOTES OFF clause was used. The syntax of the STRIP clause now allows for the additional options of RTRIM and LTRIM, to allow for more fine tuned control over the trimming of white space. For backwards compatibility, ON is treated as RTRIM.



CR:399068
CR Number:   399068
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3160 29 Jul 2005 Fixed
9.0.1 2053 08 Aug 2005 Fixed
Description
When Sybase Central - Tools - Connection Profiles... - New was used to successfully create a new profile, and the user returned to the the Connection Profiles dialog box, the list should have been scrolled to the new entry, and the new entry should have been automatically selected. This is now fixed.



CR:399155
CR Number:   399155
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1780 16 Aug 2005 Fixed
9.0.2 3162 16 Aug 2005 Fixed
9.0.1 2054 16 Aug 2005 Fixed
8.0.3 5289 16 Aug 2005 Fixed
Description
The server would have crashed under the following conditions:

- A BEGIN END block contained a nested BEGIN END block

- Inside the nesting block a local temporary table was declared (e.g. using execute immediate)

- The outer block declared a cursor on the temporary table and was opened inside the nested block but not closed in the nested block

- The cursor used an index on the temporary table

This has been fixed.



CR:399488
CR Number:   399488
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1798 18 Aug 2005 Fixed
9.0.2 3174 18 Aug 2005 Fixed
9.0.1 2059 18 Aug 2005 Fixed
8.0.3 5289 18 Aug 2005 Fixed
Description
Multiple errors were defined with SQLSTATE 28000. As a result, an incorrect error message could have been returned. This has been corrected with the following changes:



SQLSTATE_PARM_TOO_LONG changed from 28000 to 53W06

SQLSTATE_PASSWORD_TOO_SHORT changed from 28000 to 54W07

SQLSTATE_PASSWORD_TOO_LONG changed from 28000 to 54W08

SQLSTATE_INVALID_LOGON and SQLSTATE_INVALID_PASSWORD continue to return 28000



CR:399512
CR Number:   399512
Product Name:   SQL Remote for SQL Anywhere
Product Component:   SQL Remote for Adaptive Server Anywhere
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1797 16 Aug 2005 Fixed
9.0.2 3173 16 Aug 2005 Fixed
9.0.1 2059 16 Aug 2005 Fixed
Description
The SQL Remote Message Agent could have failed with the error "No log operation at offset x in the current transaction log" if the database made use of checksums. This has now been fixed.



CR:399751
CR Number:   399751
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 3165 09 Aug 2005 Fixed
9.0.1 2055 09 Aug 2005 Fixed
Description
The character set names 'windows-936', 'gbk', 'cp936', and 'ms936' (all of which refer to the same character set, gb18030), were ignored when requested by an HTTP application. The mapping from character set name to Unicode ID has been corrected.



CR:399773
CR Number:   399773
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
15 Aug 2005 Fixed
Description
When using ASA's PHP driver, the sqlanywhere_set_option() function was not recognizing "on" or "off" as valid values for the auto_commit option. This has been fixed.

The function works fine if "true" or "false" was specified.



CR:399872
CR Number:   399872
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3165 05 Aug 2005 Fixed
9.0.1 2055 05 Aug 2005 Fixed
8.0.3 5283 05 Aug 2005 Fixed
10.0.0 1785 09 Aug 2005 Fixed
Description
When using FoxPro to display a result set, the first record was missing. The following code sample illustrates the problem.



conn = CREATEOBJECT( 'ADODB.Connection' )

conn.ConnectionString = [Provider=ASAProv.90;uid=dba;pwd=sql;]

conn.Open

rs = CREATEOBJECT( 'ADODB.RecordSet' )

rs.ActiveConnection = conn

curs = CREATEOBJECT( 'CursorAdapter' )

curs.datasourcetype = 'ADO'

curs.datasource = rs

curs.SelectCmd = 'SELECT * FROM SYS.SYSTABLE WHERE table_id = 2'

curs.alias = 'ADO Test'

curs.cursorfill

BROWSE



FoxPro obtained the first row in the result set and then issued a RestartPosition() call to reposition to the first row in the result set. The cursor type for the query in the above example was FORWARD ONLY. With this type of cursor, the RestartPosition() procedure failed to reposition to the start of the result set. This problem has been fixed. RestartPosition() will now re-execute the query to position to the start of the result set when the cursor type is FORWARD ONLY.



CR:400047
CR Number:   400047
Product Name:   MobiLink
Product Component:   iAS Branded ODBC Drivers
Status:   Closed
OS:   Linux
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3174 17 Aug 2005 Fixed
9.0.1 02 May 2008 Presently Not Targeted For Any Future Release Of This Product
Description
When selecting Oracle timestamp values from a table using bound parameters, the decimal digits from a previous bind and execute are returned instead of the correct digits for the current bind and execute. The iAnywhere Solutions Oracle WP driver has been updated to version 4.20.0114



CR:400050
CR Number:   400050
Product Name:   MobiLink
Product Component:   iAS Branded ODBC Drivers
Status:   Closed
OS:   Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3173 17 Aug 2005 Fixed
9.0.1 02 May 2008 Presently Not Targeted For Any Future Release Of This Product
Description
When using the iAnywhere Solutions driver for ASE ODBC driver and executing a procedure using the native ASE syntax:



begin exec my_proc ? out end



would have returned the correct results for the first time it was called, but second and subsequent calls would have return incorrect results. Updating the driver to version 4.20.0106 resolves the problem.



A workaround is to execute the procedure using standard syntax:



{ CALL my_proc(?) }
Workaround Description
 The reported behaviour is that the workaround -hwC+ is still required

for events that pass INOUT parameters to ASE stored procedures

[namely these 2: modify_user and authenticate_user]



The workaround does not seem to be required on the first call but 2nd and

subsequent calls fail to access the returned output parameter resulting in

the supplied parameter being returned instead of the modified one.



CR:400056
CR Number:   400056
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 3167 05 Aug 2005 Fixed
9.0.1 2056 05 Aug 2005 Fixed
10.0.0 1787 09 Aug 2005 Fixed
Description
In rare circumstances, strongly encrypted connections to the database server may have failed unexpectedly. Specifically, HTTPS connections may have returned status 501 (Method not implemented), and ecc/rsa connections may have returned handshake errors. This has been fixed.



CR:400091
CR Number:   400091
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3180 23 Sep 2005 Fixed
9.0.1 2079 12 Oct 2005 Fixed
8.0.3 5311 12 Oct 2005 Fixed
Description
When a multi-byte character string was truncated in the middle of a character by being but into a column that was not wide enough to for the whole string, subseqent selects would have return a NULL at the end of the data. This could have caused MobiLink synchronizations to fail, as the NULL was misinterpreted. This has been fixed by truncating the string at the last full character.



CR:400165
CR Number:   400165
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1797 15 Aug 2005 Fixed
9.0.2 3173 15 Aug 2005 Fixed
Description
Parameters for user-defined functions must be declared as IN. If a parameter was declared as OUT or INOUT, the server would not have given an error until the function was called. Now a syntax error will be given when the function is created.



CR:400186
CR Number:   400186
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3168 05 Aug 2005 Fixed
9.0.1 2056 05 Aug 2005 Fixed
8.0.3 5285 05 Aug 2005 Fixed
10.0.0 1788 09 Aug 2005 Fixed
Description
Insertion of multibyte strings (Chinese, Japanese, Korean, etc.) into a database using the UTF8 collation would have failed. The following C# code illustrates the problem.



System.Data.OleDb.OleDbDataAdapter Ada=new System.Data.OleDb.OleDbDataAdapter ("select * from test",conn);

System.Data.OleDb.OleDbCommandBuilder CommandBuilder=new System.Data.OleDb.OleDbCommandBuilder (Ada);



System.Data.DataTable dt=new DataTable ();

Ada.FillSchema (dt,System.Data.SchemaType .Mapped );

System.Data.DataRow dr=dt.NewRow ();

dr["Col01"]=textBox1.Text ;

dt.Rows.Add (dr);

Ada.Update (dt);



If the text entered into "textBox1" was a multibyte character, it would not have been inserted correctly into column "Col01" of the "test" table when the database was using the UTF8 collation. This problem has now been fixed.



CR:400188
CR Number:   400188
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Windows 2000
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 5322 10 Nov 2005 Fixed
9.0.2 3221 10 Nov 2005 Fixed
10.0.0 1886 10 Nov 2005 Fixed
Description
If a MobiLink client connected to a database where SQL Remote was already running, it was possible for the MobiLink client to report "Cannot convert scanner to a unsigned int". When this error was reported, the current synchronization would fail. This has been fixed so that the error is no longer reported.



CR:400331
CR Number:   400331
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)
10.0.0 1811 31 Aug 2005 Fixed
9.0.2 3169 09 Aug 2005 Fixed
Description
The use of the ON EXISTING clause of the INSERT statement requires that the referenced table have a primary key. The server would have generated a "syntax error" in the event the table had no primary key defined. This has now been changed so that the server will generate a "table has no primary key" (sqlcode: SQLE_NO_PRIMARY_KEY) error instead.



CR:400332
CR Number:   400332
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1792 09 Aug 2005 Fixed
9.0.2 3170 09 Aug 2005 Fixed
9.0.1 2056 09 Aug 2005 Fixed
8.0.3 5286 09 Aug 2005 Fixed
Description
Changes for Engineering Case 394722 to the iAnywhere JDBC Driver prevented Interactive SQL from displaying, importing, or exporting unsigned numeric types correctly. For example, when displaying unsigned values, an error dialog could have been displayed saying that the value would not fit in an "n" byte value, where "n" was a small whole number. This has now been fixed.



CR:400466
CR Number:   400466
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1792 09 Aug 2005 Fixed
9.0.2 3170 09 Aug 2005 Fixed
9.0.1 2056 09 Aug 2005 Fixed
8.0.3 5286 09 Aug 2005 Fixed
Description
If an ODBC application described a signed bigint column, the precision would have been returned as 20 when it should really have been 19. This problem has been fixed.



Note that the precision of unsigned bigint columns is still returned as 20, which is the correct value.



CR:400467
CR Number:   400467
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1792 09 Aug 2005 Fixed
9.0.2 3170 09 Aug 2005 Fixed
9.0.1 2056 09 Aug 2005 Fixed
8.0.3 5286 09 Aug 2005 Fixed
Description
Additional changes have been made to ensure that proper metadata is provided for newer versions of jConnect. If a new version of jConnect is to be used, then it is recommended that the new version of JCATALOG.SQL is run against the database.



CR:400562
CR Number:   400562
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3170 10 Aug 2005 Fixed
Description
To set the same server-side transmission rule for many users, either each user had to be added to the transmission rules file with the same rule, or the same rule had to be added for each user using QAnywhere Central. This was time-consuming and did not handle well situations where users were added dynamically (MobiLink command line parameter -zu+).



With these changes, a default transmission rule can be set such that every user that does not have an explicit transmission rule will use the default rule as its transmission rule. There are two ways to set the default transmission rule:



If you are using a transmission rule INI file, then create a section called ianywhere.server.defaultRules and set the transmission rule. For example, if the default transmission rule is to send only high-priority messages, then the following should be added to the transmission rules file:



[ianywhere.server.defaultRules]

auto = ias_Priority > 6



You must restart the server for this rule to take effect



To set the default transmission rule using QAnywhere Central, follow these steps:

Select Tools->Server store connect... and specify the necessary connection parameters to connect to the server

Select the Properties item in the left-hand panel

Right-click "Properties" in the left-hand panel and select "Create property"

In the "New Property" dialog enter ianywhere.server.defaultRules for the Client field, ianywhere.qa.server.rules for the Property field and the rule (example "auto=ias_Priority > 6") for the Value field.



You must restart the server for this rule to take effect



To set the default transmission rule using a Server message



C# Example:



QAManager mgr = ; // Initialize the QAManager

QAMessage msg = mgr.CreateTextMessage();

msg.SetStringProperty( 搃as_ServerPassword, 換Anywhere );



// Indenting and newlines are just for readability

msg.Text = <?xml version="1.0" encoding="UTF-8"?>\n

+ <actions>\n

+ <SetProperty>\n

+ <prop>\n

+ <client>ianywhere.server.defaultRules</client>\n

+ <name>ianywhere.qa.server.rules</name>\n

+ <value>auto = ias_Priority > 6</value>\n

+ </prop>\n

+ </SetProperty>\n

+ <RestartRules>\n

+ <client>ianywhere.server.defaultRules</client>\n

+ </RestartRules>\n

+ </actions>\n;



mgr.PutMessage( 搃anywhere.server\system, msg );



Note that this mechanism has the advantage that you do not have to restart the server.



CR:400563
CR Number:   400563
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1797 17 Aug 2005 Fixed
9.0.2 3173 17 Aug 2005 Fixed
9.0.1 2059 17 Aug 2005 Fixed
8.0.3 5289 17 Aug 2005 Fixed
Description
It was not possible to call a stored procedure via ADO.Net and have it to use the default values for the stored procedure parameters, unless the parameters were at the end of the list. This has been resolved by adding a new class ASADefault/SADefault to the .NET provider. If the value of a parameter is set to AsaDefault/SADefault.Value, the server will use the default value to execute the procedure.



For example:



create procedure DBA.myproc( in arg1 int default 1, in arg2 int default 2, in arg3 int default 3)

begin

select arg1 + arg2 + arg3 from dummy;

end



To use the default values, set the parameters' value to SADefault.Value:



SAConnection conn = new SAConnection( "DSN=SQL Anywhere 10 Demo" );

conn.Open();



SACommand cmd = new SACommand( "DBA.myproc", conn );

cmd.CommandType = CommandType.StoredProcedure;



cmd.Parameters.Add( new SAParameter( "arg1", SADefault.Value ) );

cmd.Parameters.Add( new SAParameter( "arg2", SADefault.Value ) );

cmd.Parameters.Add( new SAParameter( "arg3", SADefault.Value ) );



int val = ( int ) cmd.ExecuteScalar();



CR:400572
CR Number:   400572
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3170 10 Aug 2005 Fixed
29 Aug 2005 Failed
Description
If the QAnywhere server's consolidated database was Oracle, Microsoft SQL Server or ASE, there would have been problems adding members to QAnywhere message groups. The QAnywhere server would have failed the next time it was started. A QAnywhere message group is a special QAnywhere client to which other QAnywhere client's can become members. A message sent to the group will then be forwarded to all the members in the group. This has now been fixed.



CR:400583
CR Number:   400583
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3170 11 Aug 2005 Fixed
Description
An empty value in the QAnywhere server's INI file for the transmission rule file property ianywhere.qa.server.transmissionRulesFile, would have resulted in the server failing on start-up. This has been fixed so that an empty value is now treated as indicating the non-existence of ianywhere.qa.server.transmissionRulesFile.



A work-around is to delete the property from the INI file.



CR:400586
CR Number:   400586
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1859 14 Oct 2005 Fixed
Description
If a function or procedure was called with an invalid parameter, the server will now return a new error:



"Function '%1' has invalid parameter '%2' ('%3')"



SQLCODE -1090

Constant SQLE_INVALID_PARAMETER_W_PARM

SQLSTATE 08W94

Sybase error code 13424

ODBC 2 State 08004

ODBC 3 State 08004



The text of the error will specifiy the function name %1, the parameter name or

number %2, and the invalid parameter value or mode %3. A parameter value of 'NULL' means that a NULL parameter has been specified; 'UNKNOWN' means that value is unknown for the evaluation routine.



CR:400590
CR Number:   400590
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1793 11 Aug 2005 Fixed
9.0.2 3170 11 Aug 2005 Fixed
9.0.1 2057 11 Aug 2005 Fixed
Description
When an out-of-range hexadecimal value like 0xffffffff01000000 was passed to the hextoint() function, no error was returned. Instead an incorrect integer value was returned. This has been fixed so that out-of-range hexadecimal values now return an error.



CR:400604
CR Number:   400604
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1805 24 Aug 2005 Fixed
9.0.2 3177 24 Aug 2005 Fixed
9.0.1 2062 24 Aug 2005 Fixed
8.0.3 5292 24 Aug 2005 Fixed
Description
At the end of each synchronization dbmlsync reports a line like the following:



End synchronizing 'template_P1' for MobiLink user 'template_U1'



If more than one publication was specified on the MobiLink Client commandline (either together as -n P1,P2 or separately as -n P1 -n P2), then the publication reported in this message may have been incorrect, although processing of the synchronization would have continued correctly. Only the message was wrong. The message now reports the correct publication name or names.



CR:400670
CR Number:   400670
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 3172 12 Aug 2005 Fixed
Description
When trying to create functions or procedures using Transact-SQL, use of the "expr AS name" syntax in the arguments to the procedure or function call would have failed with an error. This has been fixed.



A workaround is to write the function or procedure in using Watcom-SQL



CR:400769
CR Number:   400769
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1871 26 Oct 2005 Fixed
9.0.2 3211 26 Oct 2005 Fixed
Description
The server would have reported the following error to the server log when attempting to register with LDAP if the LDAP server was an Active Directory server:



Attempting to register server with LDAP

LDAP Error Referral (v2) received from ldap_search_s (LDAP server error: Referral: <LDAP URL>

LDAP registration failed



This has been fixed with the addition of the following new asaldap.ini file parameters:



read_authdn - the read-only authentication domain name. The domain name must specify an existing user object in the LDAP directory that has read access to the basedn. is only required if the LDAP server requires a non-anonymous binding before searching can be done. For example, this field will normally be required if Active Directory is used as the LDAP server. If this field is missing, the bind will be anonymous.



read_password - the password for authdn. This is only required on the client if read_authdn is used.



Note that this fix required changes to both the server and the client libraries. Thus applications using ODBC, embedded SQL and JDBC with the iAnywhere JDBC driver are affected. If a server containing this fix registers with an Active Directory server, applications without this fix will not be able to find it.



CR:400799
CR Number:   400799
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1795 12 Aug 2005 Fixed
9.0.2 3172 12 Aug 2005 Fixed
9.0.1 2058 12 Aug 2005 Fixed
Description
Results from the Inttohex() function for bigint and numeric types were formatted inconsistently.



The following are the results for bigint, integer and numeric values:



'00000001' '00000001' '00000001'

'ffffffffffffffff' 'ffffffff' 'ffffffffffffffff'

'00000002' '00000002' '00000002'

'fffffffffffffffe' 'fffffffe' 'fffffffffffffffe'

'7fffffff' '7fffffff' '7fffffff'

'ffffffff80000001' '80000001' 'ffffffff80000001'

'ffffffff80000000' '80000000' 'ffffffff80000000'

'80000000' '00008000' '80000000'

'7fffffffffffffff' '00007fff' '7fffffffffffffff'

'8000000000000001' 'ffff8000' '8000000000000001'

'8000000000000000' 'ffff7fff' '8000000000000000'



This problem has been fixed. The following shows typical results now returned for bigint, integer and numeric values:





'0000000000000001' '00000001' '0000000000000001'

'ffffffffffffffff' 'ffffffff' 'ffffffffffffffff'

'0000000000000002' '00000002' '0000000000000002'

'fffffffffffffffe' 'fffffffe' 'fffffffffffffffe'



As well, with 9.0.2, passing a negative value to inttohex() would have resulted result in a "value out of range" error. This to has been corrected



CR:400908
CR Number:   400908
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1800 18 Aug 2005 Fixed
9.0.2 3175 18 Aug 2005 Fixed
9.0.1 2060 18 Aug 2005 Fixed
Description
Attempting to start a server with a non-existent configuration file, (i.e. dbeng9 @does_not_exist), would have caused the Usage dialog to be displayed without the name of the non-existent file. This has been changed so that the Usage dialog will now display the missing file name.



CR:400911
CR Number:   400911
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1793 15 Aug 2005 Fixed
9.0.2 3169 15 Aug 2005 Fixed
Description
A server experiencing a high rate of commits could have prevented checkpoints from occurring. This has been fixed to provide fair access for checkpoints in the presence of operations that suspend checkpoints, such as commits.



CR:400924
CR Number:   400924
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1798 18 Aug 2005 Fixed
9.0.2 3174 18 Aug 2005 Fixed
9.0.1 2060 18 Aug 2005 Fixed
8.0.3 5290 18 Aug 2005 Fixed
Description
Setting the system clock back to an earlier time (either manually or by a system daemon) on non Windows platforms (i.e. NetWare, Unix) could have caused any of the following symtoms:

- timestamps reported in the request level log could jump ahead approximately 25 days

- client applications could be incorrectly disconnected



This has been fixed.



CR:401036
CR Number:   401036
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1798 16 Aug 2005 Fixed
9.0.2 3174 16 Aug 2005 Fixed
Description
The system procedure sa_make_object() can now be called by any user having RESOURCE authority. It no longer requires DBA authority.



CR:401161
CR Number:   401161
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3031 19 Sep 2005 Fixed
9.0.1 2032 19 Sep 2005 Fixed
8.0.3 5301 19 Sep 2005 Fixed
Description
UltraLite can now be run on Palm NVFS devices, and it supports both the record-based and file-based data stores.



The following is a summary of UltraLite clarifications for the Palm OS platform.



A. Database

An internal file volume may also be present on some NVFS devices, such as Tungsten T5 handhelds, which you can access and use similar to an SD slot. Therefore, call ULEnableFileDB to store UltraLite databases on either an internal drive (built-in storage card) or external slot (expansion card). Furthermore, use the existing connection parameter palm_db=CRID:n to specify the data store on either an internal drive or external slot. n is the volume ordinal from enumerating the mounted volumes, and the default value of n is 0. Tungsten T5, for example, has two volumes, the internal file volume and the SD slot volume. If the device cannot locate a volume with the user-specified volume ordinal, the SQLCODE -82 is reported when opening the database.



B. Synchronization Conduit

The conduit synchronizes the UltraLite database which is first found on the device. The database lookup sequence is first the record storage, then the file system including internal drive and external slot. Make the UltraLite database which you intend to synchronize available as the first one found in that sequence.



CR:401216
CR Number:   401216
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 3177 23 Aug 2005 Fixed
9.0.1 2068 23 Aug 2005 Fixed
23 Aug 2005 Presently Not Targeted For Any Future Release Of This Product
Description
When using Dynamic SQL, executing a CREATE TABLE statement that involved LONGVARCHAR or LONGBINARY columns could have caused a corrupt database. This was corrected.



CR:401244
CR Number:   401244
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1800 18 Aug 2005 Fixed
9.0.2 3175 18 Aug 2005 Fixed
Description
Calling SQLBindCol() would have returned the error HY090 "Invalid string or buffer length", when trying to bind a user supplied buffer pointer that was not aligned to the data type requested on x86 platforms. Starting with 9.0.2, a check was added to the ODBC driver to return this error if a buffer pointer that was not aligned to the data type was requested This check has been removed for x86 platforms as x86 allows unaligned memory accesses.



CR:401337
CR Number:   401337
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1799 19 Aug 2005 Fixed
9.0.2 3175 19 Aug 2005 Fixed
Description
The base64_encode() function was embedding a linefeed character into the result every 76 characters. This has been fixed.



CR:401363
CR Number:   401363
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)
10.0.0 1804 19 Aug 2005 Fixed
9.0.2 3176 22 Aug 2005 Fixed
Description
The QAnywhere JMS connector did not always ensure the preservation of the order of delivery of messages from a JMS sender to a QAnywhere client receiver when the QAnywhere server's consolidated database was non-ASA. This has been fixed so that the order of new JMS messages to QAnywhere client receivers will be preserved.



CR:401391
CR Number:   401391
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1800 19 Aug 2005 Fixed
9.0.2 3175 19 Aug 2005 Fixed
Description
When run on Linux systems, the Interactive SQL utility was not able to run a script file with if it did not have a ".sql" file extension. It would have displayed an error message saying that the file did not exist. This has now been fixed so that files can now be opened even if they do not have a ".sql" file extension.



Note: This bug only affected opening a file by clicking on the "File/Run Script" menu item. Behavior when running as a command line program was not affected.



CR:401494
CR Number:   401494
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)
10.0.0 1801 19 Aug 2005 Fixed
9.0.2 3175 19 Aug 2005 Fixed
9.0.1 2061 19 Aug 2005 Fixed
Description
The ESCAPE CHARACTER clause of the OUTPUT statement was being ignored so that the escape character was always a backslash. This has been fixed.



CR:401610
CR Number:   401610
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1801 22 Aug 2005 Fixed
9.0.2 3175 22 Aug 2005 Fixed
Description
When a SOAP client toolkit requests a WSDL from the ASA server, the WSDL targetNamespace would always have specified 'localhost', rather than the machine name within the URL. This has been fixed so that the hostname is now derived from the HOST header of the HTTP request. The HOST header field is mandatory in HTTP 1.1.



CR:401614
CR Number:   401614
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1813 06 Sep 2005 Fixed
9.0.2 3180 06 Sep 2005 Fixed
9.0.1 2067 06 Sep 2005 Fixed
Description
The database file could have become corrupted when performing an ALTER TABLE statement. The corruption may not have been immediately detected by database validation. This has been fixed. A database corrupted in this manner can perhaps be rebuilt by unloading the database with data 'ordered'.



CR:401645
CR Number:   401645
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1808 29 Aug 2005 Fixed
9.0.2 3178 29 Aug 2005 Fixed
9.0.1 2065 29 Aug 2005 Fixed
8.0.3 5292 29 Aug 2005 Fixed
Description
The server gathers and updates column statistics as part of the query execution process. In the case of NOT predicates, the server could have incorrectly changed the stored selectivity of these predicates to 100%. This problem has been resolved.



CR:401757
CR Number:   401757
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1787 25 Aug 2005 Fixed
9.0.2 3167 25 Aug 2005 Fixed
Description
The QAnywhere Agent stopped transmission of all messages when a GetMessage or PutMessage was called on a QATransactionalManager. Message transmission was being suspended until a Commit or Rollback was done on that QATransactionalManager. This has now been fixed so that the transmission of committed messages or messages sent by a (non-transactional) QAManager will proceed, independent of the status of uncommitted messages by any specific QATransactionalManager.



CR:401758
CR Number:   401758
Product Name:   UltraLite
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3177 25 Aug 2005 Fixed
Description
Previously, all UltraLite database types, except Palm VFS files, could be created by the UltraLite command line tools (ulload and ulcreate). Now, a .udb file suitable for deployment to a Palm VFS card can be created by adding "palm_fs=vfs" to the connection string on the command line.



For example,(Note the -p switch is still required):

ulload -p CRID -c dbf=ul_udb_CRID.udb;palm_fs=vfs my_schema.xml



When deployed to the device, the database name must follow the pattern ul_udb_XXXX.udb where XXXX is the creator id of the application. Furthermore, the file must reside in the /PALM/UltraLite/ folder.



CR:401809
CR Number:   401809
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1827 15 Sep 2005 Fixed
9.0.2 3190 15 Sep 2005 Fixed
Description
If an application prepared an INSERT statement to be used within a batch and then switched datatypes when setting different row values of a particular column, the iAnywhere JDBC driver could have inserted incorrect values. The driver now throws a SQL exception when the datatype is switched.



An example of the incorrect JAVA code follows:



PreparedStatement stmt = con.prepareStatement( "INSERT INTO t VALUES(?, ?)" );

stmt.setInt(1, 100);

stmt.setString(2, "row 1");

stmt.addBatch();

BigDecimal bd = new BigDecimal(200);

stmt.setBigDecimal(1, bd); // notice the switch in datatype when setting the variable value

stmt.setString(2, "row 2");

stmt.addBatch();

stmt.execute();



The above code would have inserted incorrect data for the second row in the batch, but will now throw an execption when the application performs the stmt.setBigDecimal() call.



Note that switching datatypes is perfectly acceptible during different executions of a batch. So, the following code will not generate an exception and will insert correct data:



PreparedStatement stmt = con.prepareStatement( "INSERT INTO t VALUES(?, ?)" );

stmt.setInt(1, 100);

stmt.setString(2, "row 1");

stmt.addBatch();

stmt.setInt(2, 200);

stmt.setString(2, "row 2");

stmt.addBatch();

stmt.execute(); // notice the execution of the first batch

BigDecimal bd = new BigDecimal(300);

stmt.setBigDecimal(1, bd); // notice the switch in datatype when setting the variable value

stmt.setString(2, "row 3");

stmt.addBatch();

stmt.execute();



CR:401863
CR Number:   401863
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1787 25 Aug 2005 Fixed
9.0.2 3167 25 Aug 2005 Fixed
Description
The QAnywhere Agent default delete rule did not completely clean up messages from the message repository. This has been fixed.



CR:401948
CR Number:   401948
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3193 21 Sep 2005 Fixed
9.0.1 2071 21 Sep 2005 Fixed
8.0.3 5302 21 Sep 2005 Fixed
Description
The corruption caused by the problem fixed in Engineering Case 383145 could have been undetectable by database validation. Engineering Case 386569 attempted to address this, but the change may have caused validation of non-corrupted indexes to fail. This has been fixed. Validation of a database affected by the corruption in Engineering Case 383145 is now detected properly and results in the error "Index 'index_name' on table 'table_name' has an invalid right spine". This type of corruption should be fixed by rebuilding the index.



CR:401979
CR Number:   401979
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1909 24 Nov 2005 Fixed
9.0.2 3184 08 Sep 2005 Fixed
Description
The Index Consultant could have finished its analysis, but not displayed the results, then failed with a dialog reporting a NullPointerException. This was only likely to happen on databases used with jConnect connections. This has been fixed.



CR:401987
CR Number:   401987
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1811 31 Aug 2005 Fixed
9.0.2 3179 31 Aug 2005 Fixed
9.0.1 2066 31 Aug 2005 Fixed
8.0.3 5293 31 Aug 2005 Fixed
Description
When adding a row to a table that contained a BIT column using the OLEDB provider, the BIT column value was always recorded as FALSE. This problem has been fixed.
Workaround Description
 Work around to use the command object with in-line SQL.



CR:401989
CR Number:   401989
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1811 01 Sep 2005 Fixed
9.0.2 3179 01 Sep 2005 Fixed
9.0.1 2066 01 Sep 2005 Fixed
8.0.3 5293 01 Sep 2005 Fixed
Description
A Visual Basic application, using the OLEDB provider to add a new row to a table that contained an unitiialized (NULL) column value , would have crashed with a null pointer exception. This problem has been fixed.
Workaround Description
 Work around to use the command object with the in-line SQL Statement "Insert into ..."



CR:401990
CR Number:   401990
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1811 31 Aug 2005 Fixed
9.0.2 3179 31 Aug 2005 Fixed
9.0.1 2066 31 Aug 2005 Fixed
8.0.3 5293 31 Aug 2005 Fixed
Description
When adding a new row into a table using the OLEDB provider, if the value for a column was the empty string, Visual Basic would have reported reports a run-time error. The conversion functions assumed that a result length of 0 indicated an error, which is true if the input length is non-zero, but if the input length is 0 then a result length of 0 is expected. This problem has been fixed.
Workaround Description
 Work around is to use command object or in-line SQL and not to use the .AddNew function of the record set.



CR:402038
CR Number:   402038
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1812 31 Aug 2005 Fixed
9.0.2 3178 29 Aug 2005 Fixed
9.0.1 2066 31 Aug 2005 Fixed
8.0.3 5293 31 Aug 2005 Fixed
Description
Executing an INSERT statement that specified a very long list of columns (approx 1/4 of the database page size in bytes), could have caused a server crash. This problem has been resolved. A temporary (inefficient) work around would be to start the server with a larger cache page size.



CR:402084
CR Number:   402084
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1808 31 Aug 2005 Fixed
9.0.2 3178 31 Aug 2005 Fixed
Description
The QAnywhere Agent could have used incorrect server information when it was started on a fresh message store with option -x tcpip(host=serverA); or when it was shut down and restarted on the same message store with option -x tcpip(host=serverB). In the second case, the QAnywhere Agent would have incorrectly transmited messages to serverA. This has been fixed. Now when the QAnywhere Agent is restarted as in the second case, only serverB is used for message transmissions.



CR:402147
CR Number:   402147
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 2064 31 Aug 2005 Fixed
Description
The QAnywhere Agent would have crashed with a memory violation, if the option "-wc <window-class>" (specify a window class name for the console window) was specified on the command line. This has been fixed.



CR:402170
CR Number:   402170
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1825 13 Sep 2005 Fixed
9.0.2 3188 13 Sep 2005 Fixed
Description
Replaying a silent install on a machine running a firewall would have resulted in the failure of the silent install when it attempted to load the Sybase Central or Interactive SQL fast-launchers. This has been fixed by no longer attempting to load the fast-launchers during either the recording or the playback of a silent install.



CR:402276
CR Number:   402276
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1812 31 Aug 2005 Fixed
9.0.2 3180 31 Aug 2005 Fixed
9.0.1 2066 31 Aug 2005 Fixed
8.0.3 5293 31 Aug 2005 Fixed
Description
The iAnywhere OLEDB Provider was reporting inconsistent type information for NUMERIC/DECIMAL columns. In some cases it would have reported DBTYPE_DECIMAL for NUMERIC/DECIMAL columns, in other cases it reported DBTYPE_NUMERIC. It would also have inconsistently reported precision for NUMERIC/DECIMAL columns, changing it between compile time and runtime. These problems have now been fixed. The changes have been made to the provider, as well as the supporting stored procedures. To install new versions of the OLEDB provider schema rowsets into a database, scripts\oleschem.sql must be rerun against the database.



CR:402278
CR Number:   402278
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1812 02 Sep 2005 Fixed
9.0.2 3180 02 Sep 2005 Fixed
9.0.1 2066 02 Sep 2005 Fixed
8.0.3 5293 02 Sep 2005 Fixed
Description
The Microsoft Query Analyzer uses the iAnywhere OLEDB provider to process queries from (ASA) Linked Servers. The Query Analyzer can call ASA stored procedures provided that Remote Procedure Calls have been enabled. The Linked Server properties RPC and RPC Out must be selected; otherwise a message like "Server 'asatest9' is not configured for RPC" will be issued.



The Query Analyzer forms a query that is syntactically incorrect for ASA and this results in a syntax error message.



For example, the following query will result in the error messages shown below.



asatest9..dba.sp_customer_list



Could not execute procedure 'sp_customer_list' on remote server 'asatest9'.

[OLE/DB provider returned message: Syntax error near '1' on line 1]



The Query Analyzer issues the SQL statement "{?=call "dba"."sp_customer_list";1}". The ";1" results in a syntax error.



This has been fixed. The iAnywhere OLEDB provider will now remove the ";1" from the statement as a work-around.



CR:402359
CR Number:   402359
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1827 27 Sep 2005 Fixed
9.0.2 3197 27 Sep 2005 Fixed
9.0.1 2073 27 Sep 2005 Fixed
8.0.3 5303 27 Sep 2005 Fixed
Description
The MobiLink Synchronization Server was not able to synchronize multi-byte characters (e.g. Chinese characters) between ASA with the UTF8 collation and Microsoft SQL server, if the columns were defined as CHAR (varchar, char, or long varchar) in ASA and NVARCHAR in Microsoft SQL server. A new command line option, -hwH+, has been added to the MobiLink server. By default, it is on for Microsoft SQL server and off for all other consolidated databases. When it is on, the MobiLink server will call SQLDescribeParam (this function may not be supported by all ODBC drivers, but it is available in the driver for the Microsoft SQL Server) to find out the data types of the parameters in the consolidated database and binds the parameters with the consolidated data types for all the columns with a CHAR datatype.



CR:402416
CR Number:   402416
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3219 07 Nov 2005 Fixed
9.0.1 2094 07 Nov 2005 Fixed
8.0.3 5320 07 Nov 2005 Fixed
Description
The performance of a Java stored procedure may have degraded the longer it ran. This would occur if a JDBC Statement object that remained open for a long time caused muliple warnings. Eventually, the buildup of SQLWarning objects would have exhusted the Java heap, causing the Java garbage collector to run continuously. These SQLWarning objects would have been garbage collected when the JDBC Statement was closed, or when the clearWarnings function was called by the Java procedure. This problem has been fixed by clearing the Statement's SQLWarning objects whenever the Statement's associated ResultSet is closed.



Note that the default heap size may be to small for some applications, but can be increase with the Java_heap_size database option.



CR:402417
CR Number:   402417
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3217 03 Nov 2005 Fixed
9.0.1 2092 03 Nov 2005 Fixed
8.0.3 5319 03 Nov 2005 Fixed
Description
A memory leak in the Java VM would have caused poor performance of a Java stored procedure if it was called hundreds of times. The cause of the performance drop was exhaustion of the Java heap, forcing the Java garbage collector to run continuously. This has been fixed.



Note that the default heap size may be to small for some applications, but can be increase with the Java_heap_size database option.



CR:402431
CR Number:   402431
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1824 31 Aug 2005 Fixed
9.0.2 3188 31 Aug 2005 Fixed
Description
The changes for Engineering Case 394506 introduced a bug that could have caused a database file to become corrupted. The problem has been corrected



CR:402669
CR Number:   402669
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 3181 06 Sep 2005 Fixed
Description
If a procedure call in the FROM clause returned fewer columns than indicated in the result clause, or the catalog, and the last column returned was not used by the query, the server would have crashed rather than give an error. This has been fixed.



CR:402727
CR Number:   402727
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1822 08 Sep 2005 Fixed
9.0.2 3183 08 Sep 2005 Fixed
9.0.1 2070 08 Sep 2005 Fixed
8.0.3 5298 08 Sep 2005 Fixed
Description
Issuing a START DATABASE request for a database with a mismatched transaction log could have failed with the error message "Cannot open transaction log: '???' belongs to a different database". The error message now correctly specifies the transaction log file name in place of the string '???'.



CR:402864
CR Number:   402864
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1756 06 Sep 2005 Fixed
9.0.2 1756 06 Sep 2005 Fixed
9.0.1 2069 06 Sep 2005 Fixed
Description
The changes for Engineering Case 383970, would have caused the server, when run on systems that had multicore processors with hyperthreading disabled or not present, to report each processor core as a physical processor. Now a multicore processor is reported as only one physical processor.



CR:403010
CR Number:   403010
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1821 08 Sep 2005 Fixed
9.0.2 3183 08 Sep 2005 Fixed
9.0.1 2070 08 Sep 2005 Fixed
8.0.3 5298 08 Sep 2005 Fixed
Description
The iAnywhere OLEDB Provider could have reported a "Table not found" error for any of the following rowsets:



COLUMN_PRIVILEGES

TABLE_PRIVILEGES

FOREIGN_KEYS



The SQL scripts that implement these schema rowsets did not qualify the SYSGROUP or SYSTRIGGER tables with "SYS.". This has been corrected.



To install new versions of the OLEDB provider schema rowsets into a database, load and rerun scripts\oleschem.sql.



CR:403014
CR Number:   403014
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1821 08 Sep 2005 Fixed
9.0.2 3183 08 Sep 2005 Fixed
9.0.1 2070 08 Sep 2005 Fixed
8.0.3 5298 08 Sep 2005 Fixed
Description
The iAnywhere OLEDB Provider's default ('PUBLIC') for the GRANTEE restriction column for the COLUMN_PRIVILEGES and TABLE_PRIVILEGES rowsets was incorrect. The default should be the empty string (''). Also, the Provider did not enforce the GRANTOR and GRANTEE restriction columns for the COLUMN_PRIVILEGES rowset. These problems have been fixed.



To install new versions of the OLEDB provider schema rowsets into a database, load and rerun scripts\oleschem.sql.



CR:403026
CR Number:   403026
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1821 08 Sep 2005 Fixed
9.0.2 3183 08 Sep 2005 Fixed
9.0.1 2070 08 Sep 2005 Fixed
8.0.3 5298 08 Sep 2005 Fixed
Description
For FORWARD-ONLY cursors, the iAnywhere OLEDB provider was returning the error "HY109" when fetching rowsets with more than 1 row, and contained a column with more than 200 bytes. This problem has been fixed.



CR:403057
CR Number:   403057
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1826 15 Sep 2005 Fixed
9.0.2 3189 15 Sep 2005 Fixed
9.0.1 2071 15 Sep 2005 Fixed
8.0.3 5299 15 Sep 2005 Fixed
Description
Calling the ChangeDatabase method would have resulted in the provider looking for name of the DSN, instead of the database name. The ChangeDatabase method has been corrected to now use the DatabaseName(DBN) connection parameter to change the current database.



CR:403145
CR Number:   403145
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 3190 08 Sep 2005 Fixed
9.0.1 2077 08 Sep 2005 Fixed
Description
If a server was heavily loaded while the Index Consultant was doing a workload capture, and was also checkpointing frequently, there was a small chance that the srever could hang. Only threads working on the database being captured would have been affected, other databases on the same server would remain operational. This problem was more likely to occur on multi-processor systems. This problem has now been fixed.



CR:403151
CR Number:   403151
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1825 13 Sep 2005 Fixed
9.0.2 3188 13 Sep 2005 Fixed
9.0.1 2071 13 Sep 2005 Fixed
8.0.3 5299 13 Sep 2005 Fixed
Description
The database server could have crashed when connecting to the utility_db from an ODBC application. This would only have occurred if the ODBC driver was a newer version than the server. This has been fixed.



CR:403163
CR Number:   403163
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1862 19 Oct 2005 Fixed
9.0.2 3207 19 Oct 2005 Fixed
Description
Any use of an aggregate function with DISTINCT in a query, could have potentially lead to a 'dynamic memory exhausted' error. This has been fixed.



CR:403181
CR Number:   403181
Product Name:   UltraLite
Product Component:   UltraLite for eMbedded Visual Basic
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1823 13 Sep 2005 Fixed
9.0.2 3186 13 Sep 2005 Fixed
Description
The ULSyncParms property that is documented as "StreamParms" was actually coded as "StreamParams". This method has been corrected to be "StreamParms" as documented, and an alias of "StreamParams" added for backwards compatibility. The code samples have also been updated to use "StreamParms" instead of "StreamParams".



CR:403187
CR Number:   403187
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 12 Sep 2005 Fixed
9.0.2 3186 12 Sep 2005 Fixed
9.0.1 2071 12 Sep 2005 Fixed
8.0.3 5299 12 Sep 2005 Fixed
Description
When synchronizing against DB2, the synchronization could have been blocked. MobiLink uses the table sysibm.systables to select current timestamp, thus would have been blocked if another application was updating sysibm.systables at the same time. To solve this problem, the table sysibm.sysdummy1, which only has one row and is used for compatibility, is now used instead.



CR:403199
CR Number:   403199
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1823 22 Sep 2005 Fixed
9.0.2 3184 09 Sep 2005 Fixed
9.0.1 2071 22 Sep 2005 Fixed
Description
Executing an ALTER VIEW statement with the SET HIDDEN clause, could have caused the server to crash when given the name of an existing base table. This has been corrected so the the server now generates an error.



CR:403315
CR Number:   403315
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1823 09 Sep 2005 Fixed
9.0.2 3185 09 Sep 2005 Fixed
Description
The changes for Engineering case 385659 accidentally removed the IPreparedStatement.setBatchStringSize method. This method has now been added back.



CR:403353
CR Number:   403353
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1823 12 Sep 2005 Fixed
9.0.2 3185 12 Sep 2005 Fixed
Description
If a system table was used in a procedure consisting of a single select statement, and was not qualified with the owner, the server would have given an error when the procedure was called in the FROM clause of a query. A workaround is to qualify the table name. This has been fixed.



CR:403355
CR Number:   403355
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1832 09 Sep 2005 Fixed
9.0.2 3184 09 Sep 2005 Fixed
9.0.1 2071 09 Sep 2005 Fixed
8.0.3 5299 09 Sep 2005 Fixed
Description
Executing a REORGANIZE TABLE statement without the PRIMARY KEY, FOREIGN KEY or INDEX clauses could have caused the server to become deadlocked and appear to hang. This problem has now been fixed.



CR:403363
CR Number:   403363
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 1388 20 Sep 2005 Fixed
Description
A query with an EXISTS subquery in a nested subquery may have caused the server to crash. This has been fixed. For the crash to have occurred, the following conditions must hold:

- The nested subquery had to qualify to be flattened by the engine (e.g., there were no ORDER BY or GROUP BY clauses in the nested subquery, the main query block didn't contain an OUTER JOIN, etc.)

- the EXISTS subquery could not have been flattened.

- the EXISTS subquery was correlated, and the outer reference was used in an equality predicate.

- the EXISTS subquery qualified to be evaluated as an uncorrelated subquery (i.e., the subquery optimization algorithm was used for the cost-based analysis of the subquery's evaluation methods)



For example:



SELECT *

FROM sales_order_items s

WHERE prod_id IN (

SELECT p1.id

FROM product p1

where p1.quantity > 0 and

EXISTS (

SELECT *

FROM product p2

where p2.quantity > 0 and p2.id =p1.id

GROUP BY p2.id

)



CR:403518
CR Number:   403518
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1826 15 Sep 2005 Fixed
9.0.2 3189 15 Sep 2005 Fixed
Description
If an application used the setString() method to set up a number of string values for a batch insert, and the strings varied widely in size, then it was possible that the call to addBatch() would have crashed the iAnywhere JDBC driver. The driver was setting up the string array for the wide insert incorrectly when a new string was larger than the standard element size. The string array is now adjusted correctly.



CR:403525
CR Number:   403525
Product Name:   UltraLite
Product Component:   CodeWarrior plugin
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3207 18 Oct 2005 Fixed
9.0.2 26 Oct 2005 Presently Not Targeted For Any Future Release Of This Product
8.0.3 5423 17 Jul 2006 Fixed
Description
When large databases were synchronized, UltraLite on Palm with the file-based data store, could have become very slow and would eventually time out on conduit synchronization. This has been fixed by allowing users to specify a larger default cache size, which significantly improves the synchronization time by cutting down file I/Os.



Now, when the UltraLite conduit is loaded by the HotSync Manager (on the desktop), it attempts to set the cache size using the value "CacheSize" if it is specified in the following registry key:



Software\Sybase\Adaptive Server Anywhere\<version>\Conduit\<CRID>



where <CRID> is the creator ID used in an UltraLite Palm application on remote. The size of "CacheSize" is in bytes, or the suffix k or K to indicate kilobytes or m or M to indicate megabytes, can be used. If this value is invalid, it is ignored and the old default cache size of 128KB is used. If the "CacheSize" value is not set, the UltraLite conduit will use the new default cache size of 4MB.



CR:403624
CR Number:   403624
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 3188 13 Sep 2005 Fixed
9.0.1 2071 13 Sep 2005 Fixed
Description
If a user was granted SELECT permission on a view that referenced a proxy table, but did not have SELECT permission on the proxy table, then using the view in a subquery would have failed with a permission denied error. This has been fixed.



CR:403665
CR Number:   403665
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3200 12 Oct 2005 Fixed
9.0.1 2077 12 Oct 2005 Fixed
Description
The changes for Engineering Case 370421 caused the result from the Round() function to be returned with an incorrect scale. This has been corrected.



This is illustrated by the following SQL code.



BEGIN

DECLARE @denominator numeric(16,12), @time_calc numeric(22,12)

select @denominator = 12

select @time_calc = round(1.0/@denominator,12)

select @time_calc

END



The correct result is .083333333333, prior to this fix, the result was .083333000000.



CR:403762
CR Number:   403762
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1826 14 Sep 2005 Fixed
9.0.2 3189 14 Sep 2005 Fixed
Description
If an Embedded SQL application called the function sqlerror_message(), without first calling the function db_init(), the application could have crashed. Without first calling db_init(), sqlerror_message() would use a NULL cmdseq_env.langstring. This has been fixed so that now the message "DBLib not initialized: error <SQLCODE>" is returned.



CR:403805
CR Number:   403805
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3192 21 Sep 2005 Fixed
Description
Attempting to invoke the AsaConnection ConnectionString Property designer dialog in Visual Sudio .Net would have failed with the error "Value cannot be null. Parameter name: item.". This has now been corrected.



CR:403811
CR Number:   403811
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 3189 15 Sep 2005 Fixed
9.0.1 2071 15 Sep 2005 Fixed
28 Sep 2005 Not a Bug
Description
Dynamic SQL did not properly handle aliases in metadata. For example, it did not recognize an alias for a result set column that was a column in a derived table. This has corrected.



CR:403931
CR Number:   403931
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)
10.0.0 1827 16 Sep 2005 Fixed
9.0.2 3190 16 Sep 2005 Fixed
Description
When editing a numeric trigger row variable value, a negative value could not have been entered without first typing a digit. This has been fixed.



CR:403932
CR Number:   403932
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)
10.0.0 1827 15 Sep 2005 Fixed
9.0.2 3190 15 Sep 2005 Fixed
Description
When debugging a trigger, table columns referenced in the trigger were not shown in the row variables table. This has been fixed.



CR:403934
CR Number:   403934
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1827 15 Sep 2005 Fixed
9.0.2 3190 15 Sep 2005 Fixed
9.0.1 2071 15 Sep 2005 Fixed
8.0.3 5299 15 Sep 2005 Fixed
Description
The iAnywhere JDBC driver has been enhanced so that it supports the Sun JDBCODBC subprotocol for the URL definition in addition to the current definition. As a result, applications can now use URLs of the form:



jdbc:odbc:<data-source-name>[;<attribute-name>=<attribute-value>]*



CR:403958
CR Number:   403958
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1827 16 Sep 2005 Fixed
9.0.2 3189 16 Sep 2005 Fixed
Description
Changes for Engineering Case 401757 caused the QAnywhere Agent to be very slow during the upload phase of a message transmission if the message store contained many messages. This has been fixed so that the time for the upload phase is now similar to what it was before.



CR:403970
CR Number:   403970
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3190 16 Sep 2005 Fixed
28 Sep 2005 Not a Bug
Description
The reserve_size connection parameter was being applied to the temporary file as well as the main database file. This essentially doubled the space allocated by reserve_size unnecessarily. Now, the reserve_size parameter applies only to the main database file, and the temporary file is created initially to contain a very small number of pages.



CR:403988
CR Number:   403988
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1827 16 Sep 2005 Fixed
9.0.2 3190 16 Sep 2005 Fixed
9.0.1 2071 16 Sep 2005 Fixed
Description
When using a stored procedure in the request_cursor property, the Notifier may have failed to start, and in turn caused the MobiLink server to fail to start. This could have happened when the database source did not support the use of SQLColAttribute before a statement was executed. For example, this limitation occurs on Oracle 9.2 with DataDirect's wire protocol driver 4.2, but not with ASA and ASA's ODBC driver. This failure would have caused a SQLException with the following fragment of stack trace in the MobiLink log during startup:

...

E. 09/02 11:21:58. Error: at ianywhere.ml.jdbcodbc.IResultSetMetaData.getColumnCount(IResultSetMetaData.java:213)

E. 09/02 11:21:58. Error: at ianywhere.ml.notifier.Notifier.connectDB(Notifier.java:348)

E. 09/02 11:21:58. Error: at ianywhere.ml.notifier.Notifier.init(Notifier.java:299

...



This problem has been fixed, the call to getColumnCount is now delayed until after the request_cursor is executed.



CR:404072
CR Number:   404072
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1828 19 Sep 2005 Fixed
9.0.2 3190 19 Sep 2005 Fixed
Description
If an application relied on the garbage collector to clean up ResultSet and (Prepared) Statement objects rather than explicitly closing these objects, then the iAnywhere JDBC driver would have leaked memory. It should be noted though that explicitly closing either the ResultSet object or the (Prepared) Statement object was enough to avoid the memory leakage. This problem has now been fixed.



CR:404084
CR Number:   404084
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1841 13 Oct 2005 Fixed
Description
A new server command line option -dt <dir> has been added which allows for specifying the directory for temporary files. If the switch is not present the server looks for the OS environment variables as in current versions. On Unix systems, temporary files for shared memory connections will not be placed in the directory specified by -dt, but will still use the OS environment variables as in current versions.



CR:404119
CR Number:   404119
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1833 23 Sep 2005 Fixed
Description
In case-sensitive databases some identifiers were still being treated as case-sensitive (e.g. index names). This has been fixed.



CR:404130
CR Number:   404130
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3191 19 Sep 2005 Fixed
Description
It was possible that the sa_get_request_times() procedure could not have read request logs generated in certain locales. The satmp_request_time table would have been empty. The request logs were generated with date/time values that were in a locale-specific format, whereas the sa_get_request_times() procedure was expecting a specific format. The date/time string will now be output in the same format (mm/dd hh:nn:ss.iii) regardless of the locale setting.



CR:404134
CR Number:   404134
Product Name:   UltraLite
Product Component:   UltraLite.NET
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1831 19 Sep 2005 Fixed
9.0.2 3191 19 Sep 2005 Fixed
Description
The utility installULNet.exe, which removes and reinstalls Visual Studio integration for UltraLite.NET, was failing to re-install the Sync Progress Dialog wizards. This has been fixed.



CR:404151
CR Number:   404151
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1831 19 Sep 2005 Fixed
9.0.2 3190 19 Sep 2005 Fixed
8.0.3 5301 19 Sep 2005 Fixed
Description
Calling a procedure owned by another user with the result of a function owned by a third user would have resulted in a 'permission denied' error. This has now been fixed.



For example, the following this sequence would have generated the 'permission denied' error:



create procedure userA.hello( in name char(10) )

begin

message 'Hello ' || name;

end;

grant execute on userA.hello to userC;



create function userB.world()

returns char(10)

begin

select 'world';

end;

grant execute on userB.world to userC;



create procedure userC.say_hello( )

begin

call userA.hello( userB.world() );

end;

call userC.say_hello();



CR:404179
CR Number:   404179
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 1831 20 Sep 2005 Fixed
9.0.2 3191 20 Sep 2005 Fixed
Description
Cancelling a "Start Database" statement could have crashed the server. This has been fixed.





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

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

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

ReadASADB适用场景

各种误操作:

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

本工具的应用场景:

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