How to Migrate From Oracle Database Lite to Sybase SQL Anywhere ®

white paper
How to Migrate From Oracle Database
Lite to Sybase® SQL Anywhere®
1 1. Introduction
1 2. Requirements
1 3. SQL Anywhere Overview
3.1. SQL Anywhere Terminology
3.2. Migration Diagram
4 4. The Migration Process
4.1. Creating the ODBC Data Source
4.2. Creating a MobiLink Project
4.3. Creating a Synchronization Model
4.4. Deploying the Synchronization Model
4.5. Create a User for UltraLite Database
4.6. Altering the Application
12 4.6.1 Form: Transport.vb
15 4.6.2. Form: frmMain.vb
16 4.6.3. Form: frmUser.vb
16 4.6.4. Form: frmView.vb
16 4.6.5. Windows Mobile Application
17 4.6.6. Running the Application
20 5. Conclusion
1. Introduction
This document assists with the mobile application migration process from Oracle Database Lite to Sybase SQL
Anywhere technology. SQL Anywhere enables bi-directional enterprise data synchronization between multiple mobile
devices and an Oracle Database.
The goal of this paper is to provide helpful information regarding the migration process by documenting the steps
needed to transform the sample .NET application “Transport” included in the Oracle Database Lite installation.
We will cover topics ranging from connecting to the Oracle backend database, creating an UltraLite® database to
replace the Oracle Lite database, setting up MobiLink™ to replace the Mobile Sync Server and altering the application
to function with the UltraLite database.
This document assumes the user has a good understanding of Oracle and Oracle Lite databases and is in the
process of becoming familiar with Sybase SQL Anywhere technology.
2. Requirements
• Oracle Database 11g R2
–– Install sample schemas (MASTER owner)
• Oracle Database Lite 10g R2
–– Install Mobile Server
–– Install Mobile Development Kit with sample applications
• Visual Studio 2010
• Sybase SQL Anywhere 12.0.0
–– Download the free Developer Edition
For this paper, the Oracle Database Lite Mobile Development Kit sample named “Transport” has been setup to be
fully functional and ready to synchronize with a sample Oracle 11g R2 database named “Orcl”.
Default sample location: ORACLEHOME\Mobile\SDK\samples\ADO.NET\Win32\Transport. Please note that a
Windows Mobile (WinCE) sample is also available and can be migrated to SQL Anywhere technology using the same
steps described in this document.
Before migrating it is recommended to properly backup the Oracle Database files and the application. It’s also a
good practice to set up a test environment with SQL Anywhere and the application before deploying the new solution
into production.
3. SQL Anywhere Overview
SQL Anywhere is a comprehensive suite of solutions that provides data management, synchronization and data
exchange technologies that enable the rapid development and deployment of database-powered applications in
remote and mobile environments. SQL Anywhere consists of several components, described below.
3.1. SQL Anywhere Terminology
SQL Anywhere Server:
A relational, transaction-based database that is the core of SQL Anywhere. It runs on a variety of hardware (from
PDAs to multi-CPU servers) and operating systems (Windows, Windows Mobile, Linux, Unix, and Mac® OS X).
SQL Anywhere is comparable to Oracle database. Both provide enterprise caliber functionality, including database
triggers, stored procedures, user-defined functions and full text search. Both can be embedded into applications and
both can act as backend databases in a mobile data synchronization environment. In this migration process, we will
be keeping the Oracle 11g database as the backend with no further changes to the database.
UltraLite Database:
UltraLite is used to build and deploy relational database applications on small devices running Windows Mobile,
BlackBerry® and iPhone® operating systems. UltraLite has built-in support for data synchronization and lets you create
relational databases that can be as small as 75KB.
UltraLite compared to Oracle Lite has many similarities and differences. Both are small-footprint databases and are
easily deployed to mobile devices. Oracle Lite can only synchronize to an Oracle database. However, UltraLite is able to
synchronize to many different backends including Sybase, Oracle, Microsoft and IBM. In this migration process we will
be replacing an Oracle Lite database with an UltraLite database.
MobiLink Server:
This server manages the synchronization process and provides the interface between all MobiLink clients (remote/
mobile databases) and the backend database server. MobiLink is intended for two-way synchronization of data
between the central database and a large number of remote/mobile databases (SQL Anywhere or UltraLite).
MobiLink Server and Oracle Mobile Sync Server are both middle-tier servers used for data synchronization. By
changing over to MobiLink, you will be able to use visual administration tools to help diagnose and solve performance
issues. MobiLink will also immediately notify client applications of any problems during the synchronization
process, thus requiring less manual administration of errors. In this migration process, we will be using MobiLink to
synchronize between an Oracle 11g database and an UltraLite database, hence replacing the Mobile Sync Server.
MobiLink Clients:
There are two types of clients: UltraLite and SQL Anywhere databases. The MobiLink client can be installed on a
handheld device, a server or desktop computer, or a smartphone.
Consolidated (Backend) Database:
This database typically contains the central copy of your application information in the synchronization system.
It also typically holds system tables and procedures that are required by MobiLink synchronization, and state
information needed to synchronize. The backend database can be SQL Anywhere, Sybase Adaptive Server® Enterprise,
Oracle, MySQL, Microsoft SQL Server, or IBM DB2.
In this migration process we will use Oracle Database 11g R2 as our backend database.
Remote or Mobile Database:
This database typically contains the application information specific to the remote device and is either an UltraLite
database (for handheld or smartphone) or a SQL Anywhere database (for desktop computers).
In this migration process we will create an UltraLite database. Note that SQL Anywhere can also run on Windows
Mobile devices, so it’s also possible to migrate from Oracle Database Lite to SQL Anywhere when using that platform.
Sybase Central:
An easy-to-use database management GUI application for configuring database settings and properties. Sybase
Central can also be used for managing other Sybase products including MobiLink synchronization with non-Sybase
backend databases. Sybase Central is similar to the Mobile Device Workbench in that it enables you to design and
develop the schema of your mobile database.
3.2. Migration Diagram
A typical Oracle Database Lite deployment is illustrated in the following diagram:
Mobile Application
Mobile Sync
the Mobile Sync Server handles all data
Oracleis the backend database. In the middle
mobile application connects to an Oracle Lite
database, which is synchronized withMobile
the backend
After migrating to SQL Anywhere technology, the deployment will look as follows:
Mobile Application
Oracle remains as the backend database. The Mobile Sync Server is replaced with the MobiLink synchronization
server. The mobile application now uses UltraLite for its data store, which is synchronized with the backend database.
4. The Migration Process
This section is an example of how to migrate the sample application provided with the installation of the Oracle
Lite Mobile Development Kit located at: ORACLEHOME\Mobile\SDK\samples\ADO.NET\Win32\Transport.
The application is connected to an Oracle Lite 10g R2 database and synchronizing data with an Oracle 11g R2
database. The end result of this section will present the same transportation application connected to an UltraLite
12.0.0 database synchronizing data with the same Oracle 11g R2 database.
4.1. Creating the ODBC Data Source
There is no need to create a new backend database. Instead an ODBC data source is created and used to connect to
the existing Oracle database. The ODBC data source will later be used by MobiLink to define the synchronization logic.
1. Go to: Start – Programs – SQL Anywhere 12 - Administration Tools – ODBC Data Source Administrator.
2. Click on the System DSN tab.
3. Click on the Add… button.
4. Select the driver iAnywhere Solutions 12 – Oracle and click Finish.
5. Fill in the following options:
Data source name: OracleODBC
Password: sql (this password may be different depending on your installation)
TNS service name (SID for your Oracle Database): Orcl
6. Check the box Procedure returns results or uses VARRAY Parameters.
7. Click the Test Connection button and click OK.
If an error occurs, consult additional information regarding this driver in the documentation at:
iAnywhere Solutions 12 – Oracle ODBC driver
8. Click OK to finish configuration of the ODBC Data Source.
9. Click OK to finish using the ODBC Data Source Administrator.
4.2. Creating a MobiLink Project
In this section we create a MobiLink Project, which is a framework that allows you to define synchronization rules,
and to work with objects such as remote tasks, consolidated database, synchronization models, MobiLink users, and
remote databases. We will be using MobiLink to replace the Oracle Mobile Sync Server.
1. Go to: Start – Programs – SQL Anywhere 12 – Administration Tools – Sybase Central.
2. From the View menu, select Folders.
3. On the left pane, right click on MobiLink 12 and select New – Project…
4. In the Name field, type a name for the project (example mlp).
5. Specify the location you would like to save the new project or click Browse to choose a folder (example C:)
6. Click the Next button.
7. Check Add a consolidated database to the project.
8. Enter a Database display name (example OracleDB).
9. Check Remember the password.
10. Click on the Edit… button.
11. Click on the Browse… button.
12. Select the data source name that you created in the section 4.1 (example OracleODBC).
13. Click the OK button.
14. In the Connection Parameters window, enter the user name and password for the Oracle database.
15. Click the Save button to dismiss this dialog.
16. Click the Next button.
17. Choose Do not add a model. We will be adding the model to the backend database at a later time.
18. Click Finish to save the new project.
19. You will be prompted with the message below, click Yes.
The MobiLink setup will create system tables, views, triggers, procedures, and sequences that store information
about MobiLink users, subscriptions, tables, scripts, script versions and other information required for MobiLink
4.3. Creating a Synchronization Model
Sybase Central has the ability to create a synchronization model which generates the setup scripts to create system
tables and the many objects required in the backend database for synchronization. Synchronization models can also
be used to create remote databases (an UltraLite database). Using this model you are able to connect to the backend
database (an Oracle Database) to obtain schema information.
1. Right click on Synchronization Models and select New – Synchronization Model…
2. From the Welcome page, enter SyncModel as the name for your synchronization model.
Your model is stored as an .mlsm file in the project directory.
3. Click the Next button.
4. Select the three checkboxes and then click Next.
For more information about primary keys, see the topic Maintaining unique primary keys in the online documentation.
5. Click the Next button.
6. Select the data source name that you created in the section 4.1 (example OracleODBC).
7. Select Only load the database schema for selected owners.
8. Choose the owner Master and click Next.
9. Select No, create a new remote database schema.
10. Click the Next button.
11. Select the tables Packages, Routes and Trucks since these are the tables that you want to have in the remote database.
12. Click the Next button.
13. Choose Timestamp-based download and click Finish to continue with default settings on the rest of the
configuration pages.
14. View our documentation to learn more about the synchronization model and options to customize your settings.
4.4. Deploying the Synchronization Model
As mentioned earlier, the synchronization model generates the setup scripts but does not actually apply them to
the backend database. By deploying the synchronization model, you enable synchronization in the backend database,
as well as creating the script files needed to run the MobiLink server and the client using the deployment options you
1. Right click on the Synchronization Model created in section 4.3 (example SyncModel) and select Deploy.
2. Choose Specify the deployment details for one or more of the following:
3. Check all three options: Consolidated database
Remote database and synchronization clients
MobiLink Server
4. Click the Next button.
5. Keep the default values for the location and click Next.
6. You will be prompted with the message The directory… does not exist. Do you want to create it?
Click Yes.
7. At this point MobiLink will issue an error because views belonging to the user ‘SYSTEM’ cannot be accessed. All
objects belonging to ‘SYSTEM’ are handled as system objects. A typical database will not use ‘SYSTEM’ as its owner
for user objects.
You may safely ignore this error and continue by clicking OK.
8. You may also safely assume the database has been correctly setup and continue by clicking Yes.
9. Choose New UltraLite database and click Next.
10. For the remote UltraLite Database location leave the default value and click Next.
11. You will be prompted with the message The directory… does not exist. Do you want to create it?
Click Yes.
12. Enter “mldba” and “mlsql” for the Username and Password. These credentials will be used to connect to the
MobiLink Server.
13. Click the Next button.
14. Select the type of communication stream and port as HTTP and 8080 respectively and click Next. Notice that
you can also use TCP/IP communication and encrypt the data stream.
Make sure the port number selected is not being used by other programs running on your machine.
15. Leave the default values for the Client Stream Parameters and click Next.
16. Leave the field blank and click Next.
17. Select Maximal verbosity (-v+) and click Next. Maximal verbosity is useful for testing and debugging.
18. In the Additional MobiLink server command-line option field, enter:
-o mlsrv.log
This option instructs all MobiLink server messages to be written in the file ‘mlsrv.log’.
19. Click Finish to use the default settings for the rest of the Wizard.
4.5. Create a User for UltraLite Database
Since the sample application connects to the Oracle Lite database as the user JUNIUS, we will also create this user.
We are trying to make the migrated application as close to the original application as possible.
1. Right click on UltraLite 12 and select Connect.
2. Enter C:\mpl\SyncModel\remote\SyncModel_remote.udb beside the Database file field and click Connect.
3. Expand SyncModel_remote – DBA and right click on Users, followed by New – Users.
4. Enter JUNIUS as the name for the new user and click Next.
5. Enter JUNIUS as the password for the new user and click Finish.
6. Right click on SyncModel_remote – DBA and select Disconnect.
You may now choose to delete the DBA user. For simplicity, we leave that user in the database.
At this point you have successfully created an UltraLite database with the same schema as your Oracle Lite
database. The UltraLite database is currently empty, but on the first synchronization it will be populated with the
Oracle data. You have also created the same user for your UltraLite database compared to the Oracle Lite database. You
now have an UltraLite version of the Oracle Lite database and a backend database (Oracle 11g) ready to synchronize.
You have finished configuring MobiLink which has replaced the Mobile Server to synchronize data between the
remote and central databases.
4.6. Altering the Application
In this section you will be altering a Windows application called ‘Transport’ that can be used to manage package
delivery information for a trunk delivery service. The application allows you to view packages, delete pages, update
packages and synchronize the data between the remote and backend database.
The default location of the sample is: ORACLEHOME\Mobile\SDK\samples\ADO.NET\Win32\Transport. We will now
refer to this location as <transport_dir>. The same changes apply to a Windows Mobile (WinCE) sample located at:
Section 4.7.5 is added to show additional steps required for the Windows Mobile application.
Perform the following:
1. Copy 2 files (AssemblyInfo.vb and FrmView.vb) located in the folder <transport_dir>\src and paste it into
2.Using Visual Studio, open the “Transport” project from the location <transport_dir>.
3.Now apply the changes needed to alter the application in Visual Studio.
The following 2 tables list a general overview of the changes that will need to be done. Most of the changes are
fairly basic with only the need to change the word “Oracle” to “UL”. There are only 3 notable differences when altering
the application. Further along this section, are the details on what needs to be changed (location and code) and the
recommended code alterations.
Basic Changes
Application Using Oracle Technology
Application Using Sybase Technology
(name, type, sourceColumn)
(name, type, size, sourceColumn)
Notable Changes
Application Using Oracle Technology
Application Using Sybase Technology
CreateCommand() function
We removed this function
as it is not needed.
Synchronization() method
The synchronization()
method is called
to initialize the
synchronization process
between the backend
database (Oracle 11g DB)
and the remote database
(UltraLite DB).
Connect() method
The connect() method
declared in the form
‘Transport.vb’ is called to
connect to the database
and access the database
4.6.1 Form: Transport.vb
1. Change Line 3 (namespace)
Imports Oracle.DataAccess.Lite
Imports iAnywhere.Data.UltraLite
In addition to changing the code, you will need to add a new reference. This new reference will allow you to use the
iAnywhere.Data.UltraLite namespace instead of the current Oracle.DataAccess.Lite namespace.
a. To do so, go to the Project menu and select Add Reference…
b. Click on the .NET Tab
c. Select the component name iAnywhere.Data.UltraLite and click the OK button.
If you cannot find iAnywhere.Data.UltraLite:
a. Click on the Browse Tab
b. Locate the directory <install-dir>\SQL Anywhere 12\UltraLite\UltraLite.NET\Assembly\V2\
<install-dir> is the location where you installed SQL Anywhere. On Windows, the default location is
C:\Program Files\SQL Anywhere 12.
c. Select the iAnywhere.Data.UltraLite.dll file and click OK.
2. Change Lines 8-11 (declaring variables)
Public conn As OracleConnection
Public cmdDel As OracleCommand
Public cmdSel As OracleCommand
Public cmdUpd As OracleCommand
Public conn As ULConnection
Public cmdDel As ULCommand
Public cmdSel As ULCommand
Public cmdUpd As ULCommand
3. Change Subroutine “Connect”
Change Lines 17-21 (Connect to the database)
Dim dsn As String = “dsn=” & usr & “_” &
“transport;uid=system;pwd=” & pwd
conn = New Oracle.DataAccess.Lite.OracleConnection(dsn)
Dim dbf As String = ”dbf=C:\mlp\SyncModel\remote\SyncModel_remote.udb”
+ “;uid=” + usr + “;pwd=” + pwd
conn = New iAnywhere.Data.UltraLite.ULConnection(dbf)
We changed dsn (data source name) to dbf (database file). The code shows where the UltraLite database is located
on the test machine.
Change Line 29 (Select command)
cmdSel = CreateCommand()
cmdSel = conn.CreateCommand()
Change Lines 32-35 (Delete command and add parameter)
cmdDel = CreateCommand()
Dim par As OracleParameter = New OracleParameter(“@did”,
DbType.String, “DID”)
cmdDel = conn.CreateCommand()
Dim par As ULParameter = New ULParameter(“@did”,
cmdDel = conn.CreateCommand()
Dim par As New ULParameter
par.ParameterName = “@did”,
par.Dbtype = DbType.String
par.SourceColumn = “DID”
ULParameter expects a “size” value for the third field whereas OracleCommand expects a “source column” value. A
value of 0 is entered since that is the default value OracleParameter uses if unspecified. If you do not want to add the
size field, use the second method provided.
Change Line 42 (Create Command)
cmdUpd = CreateCommand()
cmdUpd = conn.CreateCommand()
Change Line 47 (Add Parameter)
par = New OracleParameter(“@prty”, DbType.String, “PRTY”)
par = New ULParameter("@prty", DbType.String, 0, "PRTY")
par = New ULParameter
par.ParameterName = “@prty”,
par.Dbtype = DbType.String
par.SourceColumn = “PRTY”
Change Line 53 (Add Parameter)
par = New OracleParameter("@sts", DbType.String, "DSTS")
par = New ULParameter(“@sts”, DbType.String, 0, “DSTS”)
par = New ULParameter
par.ParameterName = “@sts”,
par.Dbtype = DbType.String
par.SourceColumn = “DSTS”
Change Line 59 (Add Parameter)
par = New OracleParameter(“@did”, DbType.String, “DID”)
par = New ULParameter(“@did”, DbType.String, 0, “DID”)
par = New ULParameter
par.ParameterName = “@did”,
par.Dbtype = DbType.String
par.SourceColumn = “DID”
4. Change Line 73 (Declaring variable)
Public Function GetConnection() As OracleConnection
Public Function GetConnection() As ULConnection
5. Delete Lines 77-79
Public Function CreateCommand() As OracleCommand
Return New OracleCommand(conn)
End Function
4.6.2. Form: frmMain.vb
1. Change Line 2 (namespace)
Imports Oracle.DataAccess.Lite
Imports iAnywhere.Data.UltraLite
2. Change Lines 185-187 (Subroutine “toolbar_ButtonClick”)
Connect(UserName, Password)
With conn.SyncParms
.UserName = “mldba”
.Password = “mlsql”
.StreamsParms = “host=servername.domain:port=8080”
.Stream = ULStreamType.HTTP
.Version = “SyncModel”
End With
“servername.domain” is the network location of the MobiLink server. For example, if the MobiLink server is running
on a machine called “MLTest” inside the domain “”, then the correct location to use is “”.
4.6.3. Form: frmUser.vb
1. Change Line 1 (namespace)
Imports Oracle.DataAccess.Lite
Imports iAnywhere.Data.UltraLite
2. Change Lines 129-131 (Subroutine “frmUser_Load”)
Dim sync As OracleSync = New OracleSync
textUser.Text = sync.UserName
textPassword.Text = sync.Password
Dim UID As String = textUser.Text
Dim PWD As String = textPassword.Text
4.6.4. Form: frmView.vb
1. Change Line 9 (namespace)
Imports Oracle.DataAccess.Lite
Imports iAnywhere.Data.UltraLite
2. Change Line 303
Dim dba As OracleDataAdapter
Dim dba As ULDataAdapter
3. Change Line 362
dba = New OracleDataAdapter
dba = New ULDataAdapter
Note: Do not exit Visual Studio until specified later.
4.6.5. Windows Mobile Application
As mentioned earlier, a Windows Mobile (WinCE) sample is also available and can be migrated to SQL Anywhere
technology using the same steps described in this document. Additional steps are required by the Windows Mobile
application after applying the changes from Section 4.6 to 4.6.4. These extra steps are listed below:
The following steps were tested with the Windows Mobile 6.0 Professional SDK. However, they are also applicable
to the PocketPC 2003 and Windows Mobile 5.0 SDKs.
1. You must open the Windows Mobile Application in Visual Studio 2008 (or lower).
2.From the Project menu, choose Add Existing Item and browse to <install-dir>\SQL Anywhere 12\UltraLite\
3.In the Files of Type list, choose Executable Files
4.Select ulnet12.dll, click the arrow on the Add button and select Add as Link.
5. In the Solutions Explorer right click on ulnet12.dll and select Properties.
6. Select the value “Content” for Build Action.
7. Select the value “Copy always” for Copy to Output Directory.
8. From the Project menu, choose Add Existing Item and browse to C:\mlp\SyncModel\remote\
9. In the Files of Type list, choose All Files
10. Select SyncModel_remote.udb, click the arrow on the Add button and select Add as Link.
11. In the Solutions Explorer right click on SyncModel_remote.udb and select Properties.
12. Select the value “Content” for Build Action.
13. Select the value “Copy if newer” for Copy to Output Directory.
14. Open the file “transport.vb” and at the very top, add the following:
Option Strict Off
Imports iAnywhere.Data.UltraLite
This Option Strict statement restricts implicit data type conversions to only widening conversions.
In the subroutine “Connect” change the location of the UltraLite database (lines 17-21):
Dim dbf As String=”dbf=\Program Files\Transport\SyncModel_remote.udb”
You are now finished altering the application but do not exit Visual Studio until specified later.
4.6.6. Running the Application
Continue with the following steps to run and test the application.
1. From the Debug menu, select Start Debugging.
2.Confirm that the application deploys successfully to the screen (or Windows Mobile 6 Professional Emulator for
Windows CE application).
If the application did not deploy successfully:
a. Confirm that the path to the database file in your application code is correct.
b. Confirm that you chose Link File when adding ulnet12.dll and the UltraLite db.
c. Confirm that you set Build Action to Content and set Copy to Output Directory to Copy Always for the
properties of ulnet12.dll
d. Confirm that you set Build Action to Content and set Copy to Output Directory to Copy if Newer for the
properties of the UltraLite database.
3.Shutdown the application but do not exit Visual Studio.
4.Open a Command Prompt from the Start menu.
5.Change to your C: drive:
C: 6.Change the working directory to:
cd “mlp\SyncModel\mlsrv”
7. Start the MobiLink server by entering:
SyncModel_mlsrv “DSN=OracleODBC;UID=SYSTEM;PWD=sql”
Note: This password may be different depending on your installation.
8.The MobiLink server starts and launches its status dialog.
9.Go to the directory <transport_dir>\obj\Debug and double click on the Transport application file. This will launch
the application.
10. Login with JUNIUS/JUNIUS as the username and password. You are now using the UltraLite database instead of
the Oracle Lite database. The UltraLite database is currently empty of data, but will be populated during the first
11. Click on the Sync button (top left corner) to initiate synchronization between the mobile UltraLite database and
the backend Oracle database.
12. Check to see if synchronization completed successfully by looking at the MobiLink server dialog.
13. Back in the application, click on View Packages to see the data that has been populated into the mobile
UltraLite database from the first synchronization with the backend Oracle database.
14. Click on the button
to delete the package.
15. Change the value for the Status and Priority fields and click on the save button
16. Scroll through the different packages using the two arrow buttons
17. Return to the main screen using the exit button
At this point you have a working application with all the same functionality as before the migration. The user of
the application should not notice any differences as the application will function the same way in terms of adding,
deleting, updating and synchronizing data.
5. Conclusion
This migration paper covers many differences between Oracle Lite Database and Sybase SQL Anywhere technology.
It provides information and steps necessary to migrate from Oracle Lite to UltraLite. This paper is meant to illustrate
the simplicity involved in this migration process. However, the procedure may vary depending on the application scenario.
The main focus of the migration process covers topics such as creating a object data source for MobiLink to connect
to the backend Oracle database, creating a new UltraLite database to replace Oracle Lite, configuring SQL Anywhere
technology for synchronization and altering the application code. For more information please refer to the links below.
Information about migrating from Oracle Lite to SQL Anywhere:
Online documentation for SQL Anywhere 12:
Sybase, Inc.
Worldwide Headquarters
One Sybase Drive
Dublin, CA 94568-7902
1 800 8 sybase
Copyright © 2010 Sybase, an SAP Company. All rights reserved. Unpublished rights reserved under U.S. copyright laws.
Sybase, the Sybase logo, Adaptive Server, MobiLink, SQL Anywhere and UltraLite are trademarks of Sybase, Inc. or its
subsidiaries. ® indicates registration in the United States of America. SAP and the SAP logo are the trademarks or
registered trademarks of SAP AG in Germany and in several other countries. All other trademarks are the property of
their respective owners. 12/10
iPhone and Mac are registered trademarks of Apple Inc.