Welcome to the DB2 Everyplace Version 8.1.4 release
notes. The new DB2 Everyplace Information Center for Version
8.1.4 is available and is located in the
%DSYINSTDIR%\doc\lang\infocenter directory.
These release notes contain information about new features, enhancements,
and updated procedures in the Version 8.1.4 release of the DB2
Everyplace.
The following section begins with a list of features which is followed by
recent fixes for the DB2 Everyplace database.
New features for the database engine
- ADO.Net support for PocketPC and Windows platforms
- DB2 Everyplace has two new system defined scalar functions which enable
you to perform an SQL query regardless of the case of the data that you are
querying. These new functions are LCASE() and UCASE().
- You can now have multiple connections to different databases within the
same process.
- Auto-increment (Identity Column) support
- Piecemeal retrieval of large data through CLI
- Support for Symbian OS Version 7
- Remote Stored Procedure support on Symbian OS Versions 6 and 7, and its
JDBC support
- Support for additional processor types on Neutrino and Linux platforms
- More JDBC support, as well as JSR 169 compatibility
- Additional CLI support including: SQLColumns, SQLGetConnectAttr,
SQLGetInfo, SQLGetStmtAttr, SQLNumParams, SQLSetConnectAttr, SQLSetStmtAttr,
and SQLTables.
- Support for local data encryption on all platforms, including Neutrino,
Linux, Symbian OS 6 and OS 7.
Fixes for the database engine
Problems fixed in DB2 Everyplace Version 8.1, FixPak 1, FixPak 2,
and Version 8.1.4, with an APAR number for your reference if
applicable:
- (APAR IC34759) Data encryption problems:
- If an application accesses more than 8 tables (one of which is an
encrypted table) during a single connection session, DB2 Everyplace
fails.
- Select queries using scrollable cursor on encrypted tables fail.
- GROUPBY queries (with grouping columns) on encrypted tables fail.
- Update queries fail on columns of encrypted tables with indexes.
- (APAR IC34782) The DB2 Everyplace database engine abnormally terminates
when you use the LIKE predicate with a parameter marker when there is an index
on the column (for example, C1 LIKE ?). The index structure
may be corrupted due to an update statement. The failure occurs when
there is more than 1 index on table and a SET value does not change the
original value of the row. If you change the column value, then this
problem does not occur.
- (APAR IC35328) Tables in the DB2 Everyplace engine became inaccessible
while using the DELETE statement, when the following actions occur:
- performing a physical delete
- reading logically deleted records
- no WHERE clause is used with the DELETE statement
- (APAR IC35106) Re-executing a prepared SELECT statement using a scrollable
cursor fails to return any rows.
- (APAR IC35043) On Palm OS, if you have PVCPKCS11.prc library
installed and you repeatedly press the On/Off button the device will
eventually display a system alert and requires a reset.
- (APAR IC35585) Index corruption can occur on Palm OS with error message
SQLSTATE=58004 when performing update and delete operations when the index is
created on columns with column numbers in one of the following sets:
17-32, 48-64, 80-96, 112-128, 144-160, 176-192, 208-226, 240-256.
- (ARAR IC35710) When you create a DB2 Everyplace Visual Basic application
using the db2ecli.bas file for the Pocket PC platform, the
application hangs when it is running on the Pocket PC 2002 emulator.
- (APAR IC35966) Remote stored procedure call problem on Palm. A
fatal error occurs when SQLBindParameter containing SQL_PARAM_OUTPUT
is used, and when acquiring the ResultSet.
- (APAR IC36026) Executing a prepared statement of a SELECT query with
aggregate function without a GROUPBY clause returns an incorrect
answer.
- (APAR IC36027) A searched DELETE (with a WHERE clause) fails to remove all
of the qualified rows when an index on a TIMESTAMP column is used in the
searching of qualified rows.
- (APAR IC36083) The CREATE TABLE and CREATE INDEX statements cause a
failure, if you create an index or primary key on columns with a column number
which is greater or equal to 128.
- (APAR IC36069) If an index is created on a column position that exceeds
256, data corruption may occur or SQLSTATE 58004 will be returned. This
fix also prevents creating a table with more than 256 columns.
- (APAR IC36070) The REORG statement executed against a table with
variable-sized records (for example, VARCHAR or BLOB) can lead to
unpredictable data file corruption or an application failure. This will
most likely occur when record sizes are increased by the execution of the
UPDATE statement.
- (APAR IC36256) DB2 Everyplace sample applications cannot be built
successfully with Microsoft eMbedded Visual C++ 3.0.
- (APAR IC36270) DB2 Everyplace does not optimize some ORDER BY queries
because it fails to choose available indexes.
- (APAR IC37280) The DB2 Everyplace database engine terminates abnormally
when an application tries to connect to a database that contains an empty
DB2eSYSUSERS table. The same behavior can be observed when an
application tries to establish a database connection and provides a wrong
password immediately after the first user ID is created.
- (APAR IC36430) DB2 Everyplace may terminate abnormally during the
execution of a GROUP BY query when the number of SELECT items exceeds the
number of GROUP BY items.
- (APAR IC36695) Connection attempt to an encrypted database causes the DB2
Everyplace database engine to terminate abnormally.
- (APAR IC36570) The DB2 Everyplace database engine returns SQLState 57011
or 58004 when trying to access a database that is stored on an external media
(for example, SD Card, CompactFlash Card, and IBM Microdrive) on a PalmOS
device.
- (APAR IC36688) DB2 Everyplace database engine returns SQLState 58004 when
joining two tables with a join condition that involves VARCHAR colums
containing empty strings (when an index is being used for fetching
data).
- (APAR IC36702) DB2 Everyplace does not match the predicate "LIKE
'%'" against an empty string.
- (APAR IC37281) DB2 Everyplace SampleCLP may return an error or invalid
data when importing a VARCHAR/CHAR column that ends in a quotation
mark.
- (APAR IC37045) DB2 Everyplace does not return SQL State 23505 when the
application inserts two decimal numbers in a primary key column whose values
are slightly different. DB2 Everyplace erroneously accepts them as the
same value.
- (APAR IC37046) DB2 Everyplace returns a syntax error for the string concat
'¶llel.' operator.
- (APAR IC37048) DB2 Everyplace doesn't accept Traditional Chinese
characters on Acer S60 device with Palm Chinese OS.
- (APAR IC37329) When an UPDATE SQL statement that uses the primary key
index, followed by an DELETE SQL statement that uses the dirty bit index are
executed, subsequent queries to the DB2 Everyplace database engine will return
incorrect result.
The following section begins with a list of features which is followed by
recent fixes for the DB2 Everyplace Sync Client.
New features for the DB2 Everyplace Sync Client
- New GUI for the IBM Sync which takes advantage of the following new
features and is more user-friendly:
- Configurable target directory on the client for each subscription
- Configurable Sync Client message size based on the network speed
- Server proxy support
- Configurable servlet path
- Synchronize data using the new DB2 Everyplace Cloudscape Sync Client
- Synchronization support for .NET using the DB2 Everyplace
ISync.NET provider
- Configurable timeout on all client platforms
- SSL support:
- For WebSphere Everyplace Access, Version 4.3 environments
only: SSL support on Palm OS, Win32, and WinCE (Pocket PC 2002 only) and
Linux.
To use SSL in the IBM Sync: In the Server settings panel of the IBM
Sync GUI, specify the HTTPS protocol in the server URL (Uniform Resource
Locator). If the configured SSL port is not the default (443), then
provide the SSL port as well. To configure the Sync Server for SSL,
please refer to the appropriate WebSphere Everyplace Access
documentation.
Developing applications that use SSL: A new Sync Client C-API
(iscServiceOpenEx) is created for developing applications with SSL
support.
- New supported client devices:
- Symbian 7 (Sony Ericsson P800)
- Linux (Sharp Zaurus SL 5500 and SL 5600)
- Palm OS Version 5.0
- Support for Linux operating system on Power PC and Strong ARM and XScale
processors (Only available in the SDK Edition of DB2 Everyplace)
- The target directory (secondary storage) is generally available from the
IBM Sync application, and it can be specified from the Client Settings
panel.
- Sync Client API for Java
Java application developers can now use the Sync Client Java API (isync4j
package) to perform data synchronization. There are two native
synchronization providers available. One synchronization provider uses
JNI to invoke the native Sync Client libraries to perform the
synchronization. The other provider is used for J9 VM for PalmOS
only. See the DB2 Everyplace Application Development Guide
and the isync4j Javadoc for additional information.
- Sync Client API for C
The IBM Sync Client API has changed, which will provide better clarity,
more flexibility, new functionality. The IBM Sync Client API
v.7.2.1 is still supported with an API wrapper, but new
features are only accessible using the new API.
- Synchronization for MIDP devices
This feature is now included only in the DB2 Everyplace SDK Edition.
Creates a new J2ME MIDP Sync Client to support building applications for J2ME
MIDP that can synchronize subscriptions to the MIDP filesystem for use by the
application. Exploits the J2ME MIDP record management system instead of
DB2 Everyplace (which cannot run on J2ME MIDP).
Fixes for the DB2 Everyplace Sync Client
Problems fixed in DB2 Everyplace Version 8.1, FixPak 1, FixPak 2,
and Version 8.1.4, with an APAR number for your reference if
applicable:
- (APAR IC35552) On Palm OS using local encryption with the Java Sync API,
the scenario is as follows:
- Synchronize.
- Enter your user ID and password, resulting in a successful
synchronization.
- Attempt to query a table and receive the error message SQLSTATE42501
"Authorization ID not permitted to perform specified operation on identified
object".
- (APAR IC35910) The Java Sync API (isync4j.jar) and agent
proxy (dsyagent.dll) files cannot be found in the WinCE
installation CAB files.
- (APAR IC35980) Abnormal behavior of the Sync Client that the client
returns "Synchronization ended successfully" but no user subscriptions were
actually synchronized.
- (APAR IC36166) You receive the following Sync Client error "dsyc699e
Unknown Network error" when trying to synchronize with Pocket PC and a Sprint
Wireless PCMCIA card. This problem does not occur on the Verizon
Wireless card.
- (APAR IC36206) A problem exists during the Palm authentication
process. IBM Sync stops functioning properly if a user password is
entered incorrectly 3 times or the cancel button is pressed in the "DB2e
authentication" window. Subsequent synchronization attempts will fail
with "DSYC698I: Error internal SQLstate" error.
- (APAR IC36408) When using the traditional Chinese version of IBM Sync on
WinCE devices, there are corrupted characters on the detailed subscription
information panel and the panel for entering the user ID and password for the
encrypted tables. This problem occurs on the user interface only and
does not affect synchronization.
- (APAR IC36410) On Palm devices, the German version of the IBM Sync program
encounters a fatal error during synchronization, and an alert window with the
message "Fatal exception" displays which asks for a system reset. This
problem occurs in the German version only.
- (APAR IC36413) After synchronization, if subscriptions are removed from
the Mobile Device Administration Center, the client has problems updating the
configuration in the subsequent synchronization. The client will still
try to synchronize those to-be-removed subscriptions.
- (APAR IC36412) When using the Java sample program (ISyncSample) on Palm
devices, synchronization of tables will cause the device to abend. On
the Palm emulator, a stack overflow exception will be shown.
- (APAR IC36574) When synchronizing a table whose primary key is composed of
all the columns, if you cancel the synchronization and then synchronize again,
the Sync Client might report a SQLstate 23505.
- (APAR IC36685) When the Sync Client is synchronizing a file subscription,
if it fails, it will not try to synchronize the file subscription again during
future synchronizations until the file subscription (or the user) is reset on
MDAC.
-
- (APAR IC26366) According to the current specification of the API, DB2
Everyplace has a 18-character length limit on the database password, the Sync
Client also allocates a 18-character storage for the application to pass in
the password. Thus, if the application overflows the pre-allocated
storage with a password longer than 18 characters, it will cause an abend in
the Sync Client. This limit applies to all platforms.
- (APAR IC37573) This problem occurs when you are developing a Sync Client
application for the Palm OS using the Sync Client API. With each call
to either of the DB2 Everyplace Sync Client API functions, iscEngineSync or
iscEngineSyncConfig, the client establishes (or dials up) the RAS connection
at the beginning of the synchronization and then shuts down the connection
when the synchronization finishes. Thus, in case of consecutive calls
to those two API functions, you see the Sync Client establishing and
re-establishing the RAS connection several times.
- (APAR IC37580) When synchronizing from a Handspring Treo device via the
wireless phone, the Sync Client reports a connection failure error.
The following section describes the components that are provided in the DB2
Everyplace SDK Edition.
The SDK is a packaging of the evaluation license DB2 Everyplace database,
the Mobile Application Builder, additional DB2 Everyplace development tools
and technologies, and documentation used for developing DB2 Everyplace
applications.
- DB2 Everyplace Mobile Application Builder (MAB)
See the release notes provided with MAB 8.1.4 for detailed
information on MAB fixes and features for Version 8.1.4.
Mobile Application Builder (MAB) is a rapid application development (RAD)
tool that allows you to produce complex relational DB2 Everyplace database
applications without the need for programming skills or specific target device
attribute knowledge. MAB generates "thick client" applications which
are produced in a programming language that allows logic complexity and
usability beyond applications that use wireless markup languages.
Typically, the applications can work with occasional connection or
synchronization, and critical data resides locally on the device. MAB
generates C language code for mobile devices using PalmOS, and Java code for
devices that support a Java(TM) Virtual Machine, including those based on
WinCE/PocketPC (such as the Compaq iPAQ StrongARM devices), Symbian OS V6
(such as the Nokia Communicator 92XX series), Symbian OS V7 (such as the Sony
Ericsson P800), and Embedded Linux (such as the Sharp Zaurus
5500/5600).
- DB2 Everyplace Plugin for IBM Websphere Studio Device Developer
(WSDD) and other Eclipse-based development tools
The IBM DB2 Everyplace plugin for Websphere Studio lets developers create
sophisticated Java J2ME applications that use DB2 Everyplace relational
database and synchronization technology.
The plugin supports those target device platforms, supported in WSDD, that
target J2ME supported devices and are also supported by the DB2 Everyplace
database. The plugin has extended support for applications developed
for devices based on the PalmOS and PocketPC platforms, including IBM J9 Java
Virtual Machine run-time packaging.
Although the plugin is designed to be usable in any Eclipse-based
Integrated Development Environment tool, it has function that is especially
helpful when used within WSDD.
Version 1.0.2 of the plugin is included with this SDK.
The following table describes version compatibility between this plugin and
WSAD, WSSD, and WSDD.
Table 1. DB2 Everyplace Plugin compatibility
DB2 Everyplace Plugin Version
| Websphere product versions
|
1.0.2
|
- WSAD/WSSD 5.1 (with vendor type support)
- WSDD 5.5
|
1.0.1
|
- WSAD/WSSD 5.1 (no vendor type support)
- WSDD 5.5
|
1.0.0
|
- WSAD/WSSD 5.1 (no vendor type support)
- WSDD 5.0
|
New feature for version 1.0.2:
- DB2 Everyplace database vendor type enablement: This
function has been added for WSAD/WSDD 5.1 and higher. This
function offers model supports for DB2 Everyplace, such as proper SQL
supports. When you install this plug-in, you will find DB2 Everyplace
V8.1 in the list of database vendor types in the Database Connection
window.
- DB2 Everyplace plugin for AppForge MobileVB(TM)
With this plugin, Microsoft Visual Basic developers can program DB2
Everyplace applications using AppForge's MobileVB(TM). Visual
Basic programmers using MobileVB can now easily develop mobile device
applications that use the DB2 Everyplace relational database and
synchronization technology. Mobile platforms supported are devices
based on PalmOS, the Nokia 9200 Communicator (SymbianOS) or WinCE/PocketPC
based devices.
Fixes for version 8.1.2: In WinCE
applications developed using version 8.1 of the DB2 Everyplace plugin
for AppForge MobileVB(TM), synchronization failed. This was fixed in
version 8.1.2.
- Application development using Java Server Pages (JSP)
JSP tools for using database-driven JSP pages built with WebSphere Studio
Java Beans are included. WebSphere Studio JSP pages are parsed by a
small tool that then enables browsing the pages on a mobile device with data
supplied from the local DB2 Everyplace database in a non-connected
environment.
New features for version 8.1.2:
- New JSP support for Symbian OS Version 6. Support for DB2
Everyplace JSP applications developed using WebSphere Studio Application
Developer Version 5.0.
New features for version 8.1.4:
- Support for DB2 Everyplace JSP applications developed using WebSphere
Studio Application Developer Version 5.0.
- IBM J9 Java(TM) Virtual Machine runtimes for Pocket PC, Palm (68 K)
and Linux (Monta Vista) device platforms
See the readme in the \SDK\J9 directory for detailed
information.
- Additional application development documentation
Additional publications and white papers are included to help you use DB2
Everyplace and develop applications.
- A \Samples directory includes additional DB2 Everyplace sample
applications not included with the other DB2 Everyplace components.
- A \Tutorials directory includes step by step tutorials for
using DB2 Everyplace.
- Readme documentation is located in the root directory of each SDK
component, to help you get started with that component.
This section contains a list of known considerations and restrictions that
apply to this release of DB2 Everyplace:
- Users of the DB2 Everyplace client database may experience performance
degradation in autocommit mode for UPDATE, INSERT, or DELETE
statements. A workaround for this problem is to explicitly use manual
transaction and group multiple changes in a single commit operation.
- For Ado.NET on the database engine:
- Result set retrieval using a remote stored procedure call has a limitation
on the size of the result set. This restriction will be removed in a
future release.
- For methods or properties that are not supported, a
"System.NotSupportedException" will be thrown.
- When the Sync Client is synchronizing to multiple target databases, local
database encryption is not supported when more then one database contains
encrypted tables.
- The Cloudscape client does not support all the features the DB2 Everyplace
client supports. For example, multiple server, ordering of subscription
sets/subscriptions/tables, and local data encryption are not supported.
- The Join Filtering feature does not support multiple table
references. If a user WHERE clause contains multiple table references,
the Join Filtering feature will be disabled for that WHERE clause and the
warning DSYD029W will be logged. The WHERE clause continues to work
without the Join Filtering feature.
- Referential Integrity is not supported for DataPropagator Table
Subscriptions.
- For DataPropagator Table Subscriptions, replication must always be run on
the mirror database server. This means that if replication needs to be
performed during administrative actions, the the Mobile Devices Administration
Center must be run on the mirror database server.
- Database object names which are required to be enclosed in double quotes
are not supported.
- In general, the maximum size of a row in a table is limited by the data
source. Adding the table to a JDBC subscription further restricts the
maximum row size. The additional restriction on the maximum row size is
approximately 125 bytes.
- In general, the maximum size of a row in a table is limited by the data
source. Adding the table to a JDBC subscription further restricts the
maximum row size. The additional restriction on the maximum row size is
approximately 2KB.
- If you have JDBC subscriptions defined on DB2 UDB tables, the DB2_RR_TO_RS
registry variable of the database server must be set to "NO".
-
The following terms are trademarks of the International Business Machines
Corporation in the United States, or other countries, or both:
AIX
DB2
DB2 Universal Database
IBM
Microsoft, Windows, Windows NT, and the Windows logo are registered
trademarks of Microsoft Corporation in the United States, other countries, or
both.
Other company, product, or service names may be trademarks or service marks
of others.