ASE ODBC Driver and OLE DB Provider Migration Technical - Sybase
ASE ODBC Driver and OLE DB Provider Migration Technical - Sybase
ASE ODBC Driver and OLE DB Provider Migration Technical - Sybase
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
white papeR<br />
<strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> <strong>and</strong> <strong>OLE</strong> <strong>DB</strong><br />
<strong>Provider</strong> <strong>Migration</strong> <strong>Technical</strong><br />
Whitepaper<br />
www.sybase.com
taBLe Of cOntents<br />
1 Introduction<br />
1 <strong>O<strong>DB</strong>C</strong> Architecture<br />
2 Overview of <strong>OLE</strong> <strong>DB</strong><br />
2 <strong>Migration</strong> Overview<br />
3 Supported Platforms<br />
3 <strong>Sybase</strong> <strong>Driver</strong> Names<br />
3 <strong>Migration</strong> Tools Simplify the <strong>Migration</strong> Task<br />
4 <strong>Sybase</strong> <strong>ASE</strong> Data Source Administrator<br />
4 The DSNMigrate utility<br />
4 Properties not Migrated<br />
6 Automatic Data Source Backups<br />
6 How to Migrate for Large Number of Clients<br />
6 Developing New Applications Using <strong>Sybase</strong> <strong>O<strong>DB</strong>C</strong> <strong>and</strong> <strong>OLE</strong> <strong>DB</strong> <strong>Provider</strong>s<br />
6 Testing Considerations<br />
6 Connection Property Matrix<br />
8 <strong>Sybase</strong> <strong>ASE</strong> Data Source Administrator<br />
18 Uninstalling OEM Products<br />
22 References<br />
x
1 intROductiOn<br />
The <strong>O<strong>DB</strong>C</strong> driver interface is a call-based application programming interface defined by Microsoft Corporation as<br />
a st<strong>and</strong>ard interface for database management systems. <strong>OLE</strong> <strong>DB</strong> provider is a data access model also developed by<br />
Microsoft. It uses the Component Object Model (COM) interface <strong>and</strong>, unlike <strong>O<strong>DB</strong>C</strong>, does not need to assure that the<br />
data source uses an SQL query processor. In previous releases of Adaptive Server Enterprise (<strong>ASE</strong>), <strong>Sybase</strong> shipped third-<br />
party <strong>O<strong>DB</strong>C</strong> driver <strong>and</strong> <strong>OLE</strong> <strong>DB</strong> provider interfaces for users to connect to Adaptive Server Enterprise for data access.<br />
Now <strong>Sybase</strong> has developed its own <strong>O<strong>DB</strong>C</strong> driver <strong>and</strong> <strong>OLE</strong> <strong>DB</strong> provider interface products to provide our customers with<br />
better support for database connectivity.<br />
The new <strong>Sybase</strong> drivers provide many benefits to our customers.<br />
1. Customer requirements are incorporated in product design <strong>and</strong> development: Since these drivers are developed in<br />
house, <strong>Sybase</strong> can incorporate customer requirements in product design <strong>and</strong> development.<br />
2. Frequent updates of feature enhancements <strong>and</strong> bug fixes will be available directly from <strong>Sybase</strong>.<br />
3. Full Support for <strong>ASE</strong> 15.0 features: These drivers support all <strong>ASE</strong> 15.0 features <strong>and</strong> are engineered to work<br />
seamlessly with <strong>ASE</strong>.<br />
This document provides guidance to developers who are migrating a third-party <strong>O<strong>DB</strong>C</strong> driver or <strong>OLE</strong> <strong>DB</strong> provider<br />
to <strong>Sybase</strong>’s <strong>O<strong>DB</strong>C</strong> driver or <strong>OLE</strong> <strong>DB</strong> provider. It describes the appropriate migration tools you can use to facilitate the<br />
work, <strong>and</strong> it also lists various steps necessary to complete your migration. Furthermore, it provides an effective way for<br />
large enterprises to migrate datasources on multiple machines.<br />
2 OdBc aRchitectuRe<br />
The <strong>O<strong>DB</strong>C</strong> architecture has four components:<br />
• Application. Performs processing <strong>and</strong> calls <strong>O<strong>DB</strong>C</strong> functions to submit SQL statements <strong>and</strong> retrieve results.<br />
• <strong>Driver</strong> Manager. Loads <strong>and</strong> unloads drivers on behalf of an application. Processes <strong>O<strong>DB</strong>C</strong> function calls or passes<br />
them to a driver.<br />
• <strong>Driver</strong>. Processes <strong>O<strong>DB</strong>C</strong> function calls, submits SQL requests to a specific data source, <strong>and</strong> returns results to the<br />
application. If necessary, the driver modifies an application’s request so that the request conforms to syntax<br />
supported by the associated <strong>DB</strong>MS.<br />
• Data source. Consists of the data the user wishes to access <strong>and</strong> its associated operating system, <strong>DB</strong>MS, <strong>and</strong><br />
network platform (if any) used to access the <strong>DB</strong>MS.<br />
The following illustration shows the relationship between these four components.<br />
1
2<br />
Please note the following about this diagram: First, multiple drivers <strong>and</strong> data sources can exist, which allows the<br />
application to access data from more than one data source simultaneously. Second, the <strong>O<strong>DB</strong>C</strong> API is used in two<br />
places: Between the application <strong>and</strong> the <strong>Driver</strong> Manager, <strong>and</strong> between the <strong>Driver</strong> Manager <strong>and</strong> each driver. The<br />
interface between the <strong>Driver</strong> Manager <strong>and</strong> the drivers is sometimes referred to as the service provider interface, or SPI.<br />
For <strong>O<strong>DB</strong>C</strong>, the application programming interface (API) <strong>and</strong> the service provider interface (SPI) are the same; that is,<br />
the <strong>Driver</strong> Manager <strong>and</strong> each driver have the same interface to the same functions.<br />
3 OveRview Of OLe dB<br />
Today, a vast amount of the critical information necessary for conducting day-to-day business is found outside of<br />
traditional, corporate production databases. Instead, this information is found in file systems, in indexed-sequential<br />
files such as Btrieve, <strong>and</strong> in personal databases such as Microsoft® Access <strong>and</strong> Microsoft Visual FoxPro®; it’s also found<br />
in productivity tools such as spreadsheets, project management planners, <strong>and</strong> electronic mail; finally, more <strong>and</strong> more<br />
frequently, it’s found on the World Wide Web.<br />
To take advantage of the benefits of database technology, such as declarative queries, transactions, <strong>and</strong> security,<br />
businesses have traditionally had to move the data from its original containing system into some type of database<br />
management system (<strong>DB</strong>MS). This process is expensive <strong>and</strong> redundant. Furthermore, businesses need to be able to<br />
exploit the advantages of database technology not only when accessing data within a <strong>DB</strong>MS but also when accessing<br />
data from any other type of information container. To address this need, Microsoft created <strong>OLE</strong> <strong>DB</strong>.<br />
<strong>OLE</strong> <strong>DB</strong> is a set of Component Object Model (COM) interfaces that provide applications with uniform access to data<br />
stored in diverse information sources <strong>and</strong> that also provide the ability to implement additional database services.<br />
These interfaces support the amount of <strong>DB</strong>MS functionality appropriate to the data store, enabling it to share its data.<br />
4 MigRatiOn OveRview<br />
To migrate your applications from the third-party <strong>O<strong>DB</strong>C</strong> driver <strong>and</strong> <strong>OLE</strong> <strong>DB</strong> provider to <strong>Sybase</strong>’s <strong>O<strong>DB</strong>C</strong> driver <strong>and</strong><br />
<strong>OLE</strong> <strong>DB</strong> provider, it is important to underst<strong>and</strong> the structure of your environment. The following diagram illustrates an<br />
<strong>O<strong>DB</strong>C</strong> application that connects to Adaptive Server Enterprise. At the core of the <strong>O<strong>DB</strong>C</strong> application is the <strong>O<strong>DB</strong>C</strong> driver,<br />
which facilitates connectivity to <strong>ASE</strong>.<br />
To migrate from a third-party <strong>O<strong>DB</strong>C</strong> driver to the <strong>Sybase</strong> <strong>O<strong>DB</strong>C</strong> driver,<br />
1. Replace the third-party driver with the <strong>Sybase</strong> <strong>O<strong>DB</strong>C</strong> driver.<br />
2. Change the data source definitions (DSN) using the migration tool.<br />
Your application should function with no additional changes.<br />
To migrate from a third-party <strong>OLE</strong> <strong>DB</strong> provider to the <strong>Sybase</strong> <strong>OLE</strong> <strong>DB</strong> provider,<br />
1. Replace it with the <strong>Sybase</strong> <strong>OLE</strong> <strong>DB</strong> provider.<br />
2. Use the migration tool to transform existing third party data sources to the <strong>Sybase</strong> <strong>OLE</strong> <strong>DB</strong> provider format.<br />
Your application should function with no additional changes.
5 suppORted pLatfORMs<br />
The <strong>ASE</strong> <strong>OLE</strong> <strong>DB</strong> <strong>Provider</strong> is designed to work with <strong>OLE</strong> <strong>DB</strong> 2.5 <strong>and</strong> later. Supported platforms include Microsoft<br />
Windows NT 4.0, 2000, XP, 2003, Vista <strong>and</strong> 2008 (x86 <strong>and</strong> x64 architectures).<br />
The <strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> supports all Level 2 features. The driver is supported on Windows 2000, 2003, XP, Vista <strong>and</strong><br />
2008; 32-bit <strong>and</strong> 64-bit (x86 <strong>and</strong> x64 architectures); Linux 32-bit <strong>and</strong> 64-bit (x86 <strong>and</strong> x64 architectures), <strong>and</strong> Mac OS X.<br />
See the <strong>ASE</strong> Software Developer’s Kit <strong>and</strong> Open Server 12.5.1 Installation Guide for version details regarding<br />
supported platforms.<br />
6 syBase dRiveR naMes<br />
Upon installation, the driver DLLs are copied to their respective install directories. Listed below are the important<br />
attributes for filename, driver name <strong>and</strong> product name:<br />
<strong>Sybase</strong>:<br />
OEM:<br />
%SYB<strong>ASE</strong>%\DataAccess\[<strong>O<strong>DB</strong>C</strong>|<strong>OLE</strong><strong>DB</strong>]\dll<br />
<strong>O<strong>DB</strong>C</strong> filename: sybdrvodb.dll [winx64: sybdrvodb64.dll]<br />
<strong>O<strong>DB</strong>C</strong> driver name: Adaptive Server Enterprise<br />
<strong>O<strong>DB</strong>C</strong> product name: <strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> by <strong>Sybase</strong><br />
<strong>OLE</strong> <strong>DB</strong> filename: sybdrvoledb.dll<br />
<strong>OLE</strong> <strong>DB</strong> provider name: <strong>ASE</strong><strong>OLE</strong><strong>DB</strong> or “<strong>Sybase</strong> <strong>OLE</strong><strong>DB</strong> <strong>Provider</strong>”<br />
<strong>OLE</strong> <strong>DB</strong> product name: <strong>ASE</strong> <strong>OLE</strong><strong>DB</strong> <strong>Provider</strong> by <strong>Sybase</strong><br />
%SYB<strong>ASE</strong>%\[<strong>O<strong>DB</strong>C</strong>|<strong>OLE</strong><strong>DB</strong>]<br />
<strong>O<strong>DB</strong>C</strong> filename: syodase.dll<br />
<strong>O<strong>DB</strong>C</strong> driver name: <strong>Sybase</strong> <strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong><br />
<strong>O<strong>DB</strong>C</strong> product name: “<strong>Sybase</strong> <strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> “<br />
or “<strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> Kit”<br />
<strong>OLE</strong> <strong>DB</strong> filename: sydaase.dll<br />
<strong>OLE</strong> <strong>DB</strong> provider name: <strong>Sybase</strong>.<strong>ASE</strong><strong>OLE</strong><strong>DB</strong><strong>Provider</strong><br />
or “<strong>Sybase</strong> <strong>ASE</strong> <strong>OLE</strong> <strong>DB</strong> <strong>Provider</strong>”<br />
<strong>OLE</strong> <strong>DB</strong> product name: <strong>Sybase</strong> <strong>ASE</strong> <strong>OLE</strong> <strong>DB</strong> <strong>Provider</strong><br />
7 MigRatiOn tOOLs siMpLify the MigRatiOn task<br />
One of the critical issues encountered when migrating from the OEM <strong>O<strong>DB</strong>C</strong> <strong>and</strong> <strong>OLE</strong> <strong>DB</strong> drivers to the <strong>Sybase</strong><br />
organic drivers is one of migrating existing data sources.<br />
In addition, with <strong>OLE</strong> <strong>DB</strong> the OEM driver supports the creation of external data sources; but, there is no st<strong>and</strong>ard<br />
tool that can be used for all drivers. Thus, for <strong>O<strong>DB</strong>C</strong>, the <strong>O<strong>DB</strong>C</strong> Administrator must deal with all of these issues.<br />
The <strong>Sybase</strong> <strong>ASE</strong> Data Source Administrator addresses both of these problems. It displays a list of existing data<br />
sources for both of the drivers (OEM <strong>and</strong> <strong>Sybase</strong> <strong>and</strong> <strong>O<strong>DB</strong>C</strong> <strong>and</strong> <strong>OLE</strong> <strong>DB</strong>). It also allows the creation <strong>and</strong> manipulation<br />
of <strong>Sybase</strong> <strong>OLE</strong> <strong>DB</strong> data sources, as well as the migration of existing OEM data sources to <strong>Sybase</strong> organic data sources.<br />
Lastly, <strong>Sybase</strong> provides a comm<strong>and</strong> line utility for migrating data sources in DOS batch procedures; this is ideal for<br />
mass-migrating data sources while the Data Source Administrator provides an interactive environment for migrating<br />
fewer or individual data sources. Go to section 17 for more details about these tools.<br />
3
4<br />
8 syBase ase data sOuRce adMinistRatOR<br />
The Data Source Administrator is designed to provide users with an interactive tool to enable the migration of<br />
both OEM <strong>O<strong>DB</strong>C</strong> <strong>and</strong> <strong>OLE</strong> <strong>DB</strong> data sources, as well as creating <strong>and</strong> modifying <strong>Sybase</strong> <strong>OLE</strong> <strong>DB</strong> data sources. All <strong>O<strong>DB</strong>C</strong><br />
data sources are maintained using the <strong>O<strong>DB</strong>C</strong> Data Source Administrator available with the Microsoft Windows<br />
operating system.<br />
To run the Data Source Administrator, click the ‘Data Source Administrator’ menu item in the ‘DataAccess’ program<br />
group under ‘<strong>Sybase</strong>’, or run ‘sybdrvadm.exe’ from the install directory at ‘%SYB<strong>ASE</strong>%\DataAccess\bin’.<br />
Upon startup, the tool displays all <strong>OLE</strong> <strong>DB</strong> <strong>and</strong> <strong>O<strong>DB</strong>C</strong> data sources for both OEM <strong>and</strong> <strong>Sybase</strong>. Users can choose the<br />
OEM data source to migrate, or alternatively create, modify or delete existing <strong>Sybase</strong> <strong>OLE</strong> <strong>DB</strong> data sources.<br />
9 the dsnMigRate utiLity<br />
This comm<strong>and</strong> line utility provides users with the same capabilities as the interactive Data Source Administrator<br />
described above, but being a non-UI tool, it provides users with a comm<strong>and</strong> that can be used in DOS batch procedures<br />
to help automate the migration process.<br />
To run the comm<strong>and</strong> line utility, run ‘dsnmigrate.exe’ which is also located in the install directory at ‘%SYB<strong>ASE</strong>%\<br />
DataAccess\bin’. Running this utility with the ‘/h’ argument displays all the available migration options listed below;<br />
you may choose the option which best suits your environment.<br />
/?, /h, /help Displays this message. This message will also be displayed if dsnmigrate.exe is called with no<br />
comm<strong>and</strong> line arguments.<br />
/oledb Puts dsnmigrate into <strong>OLE</strong><strong>DB</strong>-mode. By default <strong>O<strong>DB</strong>C</strong> DSNs are migrated.<br />
/l Displays a list of all <strong>Sybase</strong> OEM User <strong>and</strong> System DSNs<br />
/ul Displays a list of all <strong>Sybase</strong> OEM User DSNs<br />
/sl Displays a list of all <strong>Sybase</strong> OEM System DSNs<br />
/a Converts all <strong>Sybase</strong> OEM User <strong>and</strong> System DSNs<br />
/ua Converts all <strong>Sybase</strong> OEM User DSNs<br />
/sa Converts all <strong>Sybase</strong> OEM System DSNs<br />
/dsn Converts specific <strong>Sybase</strong> OEM User or System DSN<br />
/udsn Converts specific <strong>Sybase</strong> OEM User DSN<br />
/sdsn Converts specific <strong>Sybase</strong> OEM System DSN<br />
dsn The name of the DSN to be converted<br />
/suffix This optional switch changes the way the DSNs are named. If this switch is used, the original<br />
OEM DSN will retain its current name <strong>and</strong> the new DSN will be named ‘-’.<br />
suffix The suffix that will be used to name the new DSN.<br />
10 pROpeRties nOt MigRated<br />
Following is a list of OEM properties not migrated in the current version; some of these may be supported in future<br />
releases.<br />
Also, appropriate warning messages are issued when a property cannot be migrated or when user attention is<br />
directed to a specific situation where manual intervention is required; therefore, it is extremely important to review<br />
<strong>and</strong> react if necessary to resultant messages:
<strong>OLE</strong><strong>DB</strong><br />
The following OEM properties are not supported:<br />
<strong>O<strong>DB</strong>C</strong><br />
ClsID<br />
KB_Network_Authentication<br />
KB_Mutual_Authentication<br />
KB_DataIntegrity<br />
KB_DataConfidentiality<br />
KB_ReplayDetection<br />
KB_OutOfSequence<br />
InitializationString<br />
TruncateTimeTypeFractions<br />
Use<strong>Sybase</strong>LDAP<br />
Row Cache Size<br />
Extended ErrorInfo<br />
Print Statement Behavior<br />
Raise Error Behavior<br />
Network Protocol<br />
<strong>Provider</strong>Name<br />
The following OEM properties are migrated as-is, but they are not supported by the organic driver:<br />
of host:port pairs]<br />
alternateservers [organic property alternateservers is used for SDC support which is a comma separated list<br />
applicationusingthreads<br />
connectionretrycount<br />
connectionretrydelay<br />
cursorcachesize<br />
databases<br />
distributedtransactionmodel<br />
enabledescribeparam<br />
interfacesfileservername<br />
kb_dataconfidentiality<br />
kb_dataintegrity<br />
kb_mutual_authentication<br />
kb_network_authentication<br />
kb_outofsequence<br />
kb_replaydetection<br />
loadbalancing<br />
networklibraryname<br />
raiserrorpositionbehavior<br />
reportcodepageconversionerrors<br />
truncatetimetypefractions<br />
useldaphaserver<br />
usesybaseldap<br />
xaopenstringparameters<br />
5
6<br />
11 autOMatic data sOuRce Backups<br />
In order to preserve <strong>and</strong> allow users to refer to migrated OEM data sources, the migration tools automatically create a<br />
backup of the migrated data source by adding the suffix ‘backup’ to the original name. For example, an OEM data source<br />
named ‘Test’ will be migrated to <strong>Sybase</strong> as ‘Test’, <strong>and</strong> the original OEM data source will be renamed to ‘Test-backup’.<br />
12 hOw tO MigRate a LaRge nuMBeR Of cLients<br />
When your migration involves a large number of clients, it may not be practical to migrate each client individually<br />
due to time constraints or in order to maintain consistency throughout the enterprise. Therefore, it is recommended<br />
that in these scenarios the comm<strong>and</strong> line utility ‘dsnmigrate.exe’ be used in a batch procedure with the appropriate<br />
argument to migrate either all, or the desired category, of data sources.<br />
For example, the ‘/a’, ‘/ua’, <strong>and</strong> ‘/sa’ arguments provide for migrating groups of data sources. The /dsn argument can<br />
be used to specify a specific data source for migration.<br />
13 deveLOping new appLicatiOns using syBase OdBc <strong>and</strong> OLe dB pROvideRs<br />
Developing applications using the <strong>Sybase</strong> drivers is consistent with developing applications using other OEM <strong>O<strong>DB</strong>C</strong><br />
<strong>and</strong> <strong>OLE</strong><strong>DB</strong> drivers that are 100% compliant at the API level; therefore, an <strong>O<strong>DB</strong>C</strong> application, for example, written for an<br />
OEM driver that is fully API compliant with the <strong>O<strong>DB</strong>C</strong> specification, will compile <strong>and</strong> run successfully with the <strong>Sybase</strong><br />
organic driver.<br />
14 testing cOnsideRatiOns<br />
As with any development project, it is highly recommended that customers test their applications prior to full<br />
deployment in order to detect <strong>and</strong> rectify errors that may have been introduced in the migration process.<br />
15 cOnnectiOn pROpeRty MatRix<br />
For situations where the application developer needs to know the connection property names on “DSN-less”<br />
connection strings, this matrix is provided as a matter of convenience.<br />
The format will provide the property names as seen in the registry <strong>and</strong> the <strong>O<strong>DB</strong>C</strong> Data Source Administrator (GUI).<br />
If the DataDirect property name in the GUI is different than the actual property name, the name will be provided in<br />
parentheses.<br />
For the <strong>Sybase</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong>, property names are present in the registry in lowercase. In this matrix, mixed-case is<br />
used for ease of reading. You can use mixed-case in a connection string.<br />
In some cases, a sample value is provided for the <strong>Sybase</strong> <strong>Driver</strong> property.
<strong>O<strong>DB</strong>C</strong> Connection Property Compatible Names<br />
OEM (Tabs from DSN) <strong>Sybase</strong><br />
General Tab<br />
Description Description<br />
NetworkLibraryName ---<br />
NetworkAddress Data Source<br />
Server <strong>and</strong> Port<br />
Database Database<br />
InterfacesFile DSURL<br />
file://path_to_sql.ini\sql.ini<br />
InterfacesFileServerName DsServiceName<br />
Advanced Tab<br />
RaiserrorPositionBehavior ---<br />
DefaultLongDataBuffLen (KB) TextSize (Bytes)<br />
DistributedTransactionModel DistributedTransactionProtocol<br />
InitializationString InitializationString<br />
ReportCodePageConversionErrors ---<br />
XAOpenStringParameters ---<br />
ApplicationUsingThreads ---<br />
EnableQuotedIdentifiers QuotedIdentifier<br />
EnableDescribeParam ---<br />
TightlyCoupledTransactions TightlyCoupledTransaction<br />
TruncateTimeTypeFractions ---<br />
Connection<br />
Databases ---<br />
Default Login Id (LoginId) LogonId<br />
WorkStationId ClientHostName<br />
Charset Charset<br />
ApplicationName ApplicationName<br />
Language Language<br />
PasswordEncryption EncryptPassword<br />
Kerberos AuthenticationClient=<br />
KB_Network_Authentication ---<br />
KB_Remote_Principal ServerPrincipal<br />
Performance<br />
SelectMethod UseCursor<br />
mitkerberos<br />
OptimizePrepare (Prepare Method) DynamicPrepare<br />
FetchArraySize FetchArraySize<br />
PacketSize PacketSize<br />
ConnectionCacheSize ---<br />
cybersafekerberos<br />
activedirectory<br />
7
8<br />
16 syBase ase data sOuRce adMinistRatOR<br />
<strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong>/<strong>OLE</strong> <strong>DB</strong> <strong>Provider</strong> Connection Properties<br />
The format used to describe the connection properties includes the name of the property as used in the <strong>O<strong>DB</strong>C</strong><br />
<strong>Driver</strong> administrator, followed by the actual property name used in connection strings, surrounded in square brackets.<br />
Example:<br />
Enable High Availability [hasession/HASession]: [Descriptive text explaining the parameter]. Default [is|=] value.<br />
The connection property name isn’t case sensitive. Lower case is equivalent to the conventional upper case for<br />
initial letter of each word in the property. Words must be concatenated when the property is used in the connection<br />
string for <strong>O<strong>DB</strong>C</strong> driver connection strings. The same goes with <strong>OLE</strong> <strong>DB</strong> <strong>Provider</strong> connection properties, unless you use<br />
the generic properties such as “Initial Catalog”, “User ID”, etc.<br />
Example <strong>O<strong>DB</strong>C</strong> Connection strings:<br />
AseConnectionString = “{<strong>Driver</strong> = Adaptive Server Enterprise};UID=sa;PWD=xxx;Database=testdb;Server=asehost;<br />
Port=5000;AnsiNull=1;UseCursor=1;DynamicPrepare=1;…..”<br />
Another way to do this:<br />
AseConnectionString = “{<strong>Driver</strong> = Adaptive Server Enterprise};uid=sa;pwd=xxx;database=testdb;server=asehost;<br />
port=5000;ansinull=1;usecursor=1;dynamicprepare=1;…..”<br />
Also, you can replace {<strong>Driver</strong>=…} with DSN=ase_DSN <strong>and</strong> include other properties to over-ride DSN settings.<br />
Example <strong>OLE</strong> <strong>DB</strong> <strong>Provider</strong> Connection strings:<br />
OleDbConnectionString = “<strong>Provider</strong>=<strong>ASE</strong><strong>OLE</strong><strong>DB</strong>;Server=aseHost;Port=5000;Initial Catalog=testdb;User<br />
ID=sa;Password=xxx….”<br />
OleDbConnectionString = “<strong>Provider</strong>=<strong>ASE</strong><strong>OLE</strong><strong>DB</strong>;Data Source=ase1502;User ID=sa;….”<br />
The <strong>Sybase</strong> <strong>ASE</strong> Data Source Administrator (sybdrvadm.exe is a tool provided in the SDK under %SYB<strong>ASE</strong>%\<br />
DataAccess\bin or %SYB<strong>ASE</strong>%\DataAccess64\bin for Winx64) so you can create <strong>OLE</strong> <strong>DB</strong> Data Sources. These are stored<br />
in this same location by default as a text file with name of the Data Source followed by the extension “sod”. The Data<br />
Source name without the “sod” extension is used in the “Data Source” connection property.
This enables an application to reference the <strong>OLE</strong> <strong>DB</strong> data source through the “Data Source” connection property.<br />
Please note: The other panels are captured when configuring an <strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> with <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> Administrator<br />
tool. The panels are the same as for the <strong>Sybase</strong> <strong>ASE</strong> Data Source Administrator. There are slight differences in how<br />
the values are presented for selection. Shown here is the General tab from the <strong>Sybase</strong> <strong>ASE</strong> Data Source Administrator<br />
configurator tool:<br />
Compare it to the next page with the same panel used to configure the <strong>O<strong>DB</strong>C</strong> driver. (Service Name <strong>and</strong> BackEnd<br />
Type are not available with <strong>OLE</strong> <strong>DB</strong> <strong>Provider</strong>.)<br />
9
10<br />
General Tab<br />
Data Source Name: DSN as configured on the machine. This can be used as a logical reference to the data source.<br />
Description: A description of this particular data source. Used primarily for documentation purposes.<br />
Server Name (<strong>ASE</strong> Host Name) [server/Server]: Host where <strong>ASE</strong> resides.<br />
Server Port [port/Port]: Listener port of the <strong>ASE</strong>.<br />
Database Name [database/Database]: Default database for this data source connection.<br />
Logon ID [uid/UID]: Default logon ID for the data source.<br />
Service Name [servicename/ServiceName]: Not used for <strong>ASE</strong>. For DirectConnect server connections (MFC), this is the<br />
access service name. (Not available with <strong>OLE</strong> <strong>DB</strong> <strong>Provider</strong>)<br />
BackendType [backendtype]: Used for DirectConnect server (MFC) access service types (not available with <strong>OLE</strong> <strong>DB</strong><br />
<strong>Provider</strong>):<br />
DC <strong>DB</strong>2 Access Service<br />
DC TRS: Transaction Router Service<br />
MFC gatewayless: When using OpenServerConnect on the Mainframe<br />
Default is <strong>ASE</strong>.
Cursor Behavior<br />
Use Cursors [usecursor/UseCursor]: When checked (unchecked by default) uses <strong>ASE</strong> Forward_only cursors for SELECT<br />
statements.<br />
Test Connection: After you configure your data source, press this button to test the <strong>ASE</strong> connection.<br />
The fields are filled in with the values entered in the data source configuration. Press OK to connect to <strong>ASE</strong>.<br />
11
12<br />
Connection Tab<br />
Login Time Out [logintimeout/LoginTimeout]: The time, in seconds, <strong>O<strong>DB</strong>C</strong> driver waits for a response from the <strong>ASE</strong><br />
after it sends the login request. After the time interval (15 seconds by default), the driver will issue a TDS attention<br />
event, indicating to the <strong>ASE</strong> it no longer wants to wait for a response. The <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> will throw SQL_ERROR with<br />
message “The comm<strong>and</strong> has timed out.”<br />
High Availability Information<br />
Enable High Availability [hasession/HASession]: (Unchecked by default) When checked, the <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> will set flag<br />
on the login request to use <strong>ASE</strong> High Availability feature.<br />
(Default = 0)<br />
Alternate Servers [alternateservers/AlternateServers]: In establishing a connection, <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> by <strong>Sybase</strong> will first<br />
try to connect to the primary host <strong>and</strong> port defined in the General tab of the Adaptive Server Enterprise dialog box.<br />
If <strong>O<strong>DB</strong>C</strong> fails to establish a connection, <strong>O<strong>DB</strong>C</strong> will go through the list of hosts <strong>and</strong> ports specified in the Alternate<br />
Servers field. Example entries:<br />
<strong>Driver</strong>=AdaptiveServerEnterprise;server=server1;<br />
port=port1;UID=sa;PWD=;HASession=1;<br />
AlternateServers=server2:port2,...,serverN:portN;
When the primary server doesn’t response in the amount of time specified by LoginTimeout, the driver attempts to<br />
connect to server2:port2, <strong>and</strong> so on, until it connects successfully or exhausts the list.<br />
For information regarding the <strong>ASE</strong> Cluster Edition support refer to the New Features Open Server <strong>and</strong> SDK 15.0 for<br />
Windows, Linux, <strong>and</strong> UNIX document, under ESD#12.<br />
Server Name [secondaryserver/SecondaryServer]: The name or the IP address of the <strong>ASE</strong> server acting as a failover<br />
server in an active-active or active-passive setup.<br />
Server Port [secondaryport/SecondaryPort]: The port number of the <strong>ASE</strong> server acting as a failover server in an<br />
active-active or active-passive setup.<br />
Directory Service Information: This panel is used for alternate methods of determining the host <strong>and</strong> port for <strong>ASE</strong><br />
connectivity. This option allows for the use of an LDAP server or the interfaces file (SQL.INI for windows, interfaces<br />
for LINUX).<br />
URL [dsurl/DSURL]: The URL for the LDAP server, or the location to the interfaces file. Some examples are:<br />
LDAP: ldap://hostport/dn[?attrs[?scope[?filter[?userdn?userpass]]]]<br />
ldap://pvero-xp:389/dc=sybase,dc=com??one?sybaseServername=ase1252<br />
Interfaces: file://[path][?][servicename]<br />
file://C:\sybase\ini\SQL.INI<br />
Service Name [dsservicename/DSServiceName]: The Service Name of the LDAP <strong>Sybase</strong> server object. The default is<br />
an empty string.<br />
User ID [dsprincipal/DSPrincipal]: The user name used to authenticate on the LDAP server, if the LDAP server does<br />
not allow anonymous access. The principal can be specified in the DSURL as well.<br />
Use Quoted Identifiers [quotedidentifier/QuotedIdentifier]: Specifies if <strong>ASE</strong> treats character strings enclosed in<br />
double quotes as identifiers:<br />
•0 = do not enable quoted identifiers (default)<br />
•1 = enable quoted identifiers<br />
Set ANSI Null [ansinull/AnsiNull]: Strict <strong>O<strong>DB</strong>C</strong> compliance where you cannot use “= NULL.” Instead, you must use<br />
“IsNull.” Default is checked. Uncheck this if you use the “=NULL” in your SQL statements, especially the where clause.<br />
(Default =1)<br />
Enable Dynamic Prepare [dynamicprepare/DynamicPrepare]: When set to 1, the driver sends SQLPrepare calls to <strong>ASE</strong><br />
to compile/prepare. This can boost performance if you use the same query repeatedly. (Default =0)<br />
Normalize Unicode Strings [normalizewcharparams/NormalizeWCharParams]: Under certain circumstances, when<br />
the <strong>ASE</strong> is configured with “enable unicode normalization” set to 0, problems might occur with parameters set to TDS_<br />
LONGBINARY. Setting this property to “1” will send the parameters as TDS_VARCHAR. Problem occurs with possible<br />
error like:<br />
“Attempt to insert NULL value into column ‘column name’, table ‘table name’; column does not allow nulls. Update<br />
fails.”<br />
Originally discovered with use of Microsoft Replication. (Default=0)<br />
Cumulative Record Count [crc/CRC]: By default, the driver returns the total records updated when multiple update<br />
statements are executed in a stored procedure. This count will also include all updates happening as part of any<br />
triggers set on an update or an insert. Set this property to 0 if you want the driver to return only the last update<br />
count. (Default = 1)<br />
13
14<br />
Ignore Errors if Results are Pending [ignoreerrorsifrspending/IgnoreErrorsIfRSPending]: Specifies whether the driver<br />
is to continue processing or stop if error messages are present. When set to 1, the driver will ignore errors <strong>and</strong> continue<br />
processing the results if more results are available from the server. When set to 0, the driver will stop processing the<br />
results if an error is encountered even if there are results pending. (Default = 0)<br />
Encrypt Password [encryptpassword/EncryptPassword]: Specifies if password encryption is enabled:<br />
0 indicates password encryption is disabled,<br />
1 indicates password encryption is enabled.<br />
(Default = 0)<br />
Security Tab<br />
Secure Socket Layer<br />
This is used to enable SSL so the driver can connect to an <strong>ASE</strong> configured for SSL.<br />
Use SSL Encryption [encryption/Encryption]: The designated encryption. Possible values: ssl.<br />
(Default = empty)<br />
Trusted File [trustedfile/TrustedFile]: If encryption is set to ssl, this property should be set to the path to the Trusted<br />
File. (Default = empty)
Kerberos<br />
This is used for <strong>ASE</strong> configured to use Kerberos.<br />
Authentication Client [authenticationclient/AuthenticationClient]: Enables Kerberos authentication using one of<br />
these Kerberos providers (Default = empty, selecting none):<br />
mitkerberos<br />
cybersafekerberos<br />
activedirectory<br />
User Principal [userprincipal/UserPrincipal]: The user principal as configured in the Key Distribution Center (KDC).<br />
This is optional.<br />
Server Principal [serverprincipal/ServerPrincipal]: The logical name or the principal as configured in the Key<br />
Distribution Center (KDC).<br />
The <strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> driver will use this information to negotiate Kerberos authentication with the configured KDC <strong>and</strong><br />
<strong>ASE</strong> server.<br />
Advanced Tab<br />
Buffer Pool Size [buffercachesize/BufferCacheSize]: Keeps the input / output buffers in pool. When large results will<br />
occur, increase this value to boost performance. (Default = 20)<br />
Text Size [textsize/TextSize]: The maximum size of binary or text data, in bytes, that will be sent over the wire.<br />
(Default = none, uses <strong>ASE</strong> default of 32768 bytes)<br />
15
16<br />
Application Name [applicationname/ApplicationName]: The name used by <strong>ASE</strong> to identify the client application.<br />
(Default = none)<br />
Client Host Name [clienthostname/ClientHostName]: Name of client host running the application using the <strong>O<strong>DB</strong>C</strong><br />
<strong>Driver</strong>. This value must be populated if you want to use it.<br />
Client Host Process [clienthostprocess/ClientHostProcess]: This value is actually determined internally <strong>and</strong><br />
automatically. It is the value of the process id belonging to the application using the <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong>. This shows up in<br />
the TDS Login token <strong>and</strong> under the hostprocess column on the <strong>ASE</strong> sysprocesses table.<br />
Fetch Array Size [fetcharraysize/FetchArraySize]: Specifies the number of rows the driver retrieves when fetching<br />
results from the server. (Default = 25)<br />
Initialization String [initializationstring/InitializationString]: Session related SQL statements that can be sent to the<br />
<strong>ASE</strong> upon login time. Examples are set statements:<br />
set transaction isolation level 1 set textsize 64000 ….<br />
Language [language]: The language in which <strong>ASE</strong> returns error messages. (Default = empty, <strong>ASE</strong> uses English by<br />
default)<br />
Character Set [charset/CharSet]: Determines what character set is used for character translation between the client<br />
<strong>and</strong> <strong>ASE</strong>.<br />
User Specified: Enter the value to use if different from <strong>ASE</strong>. Example, if <strong>ASE</strong> is set to use iso_1 character set, <strong>and</strong><br />
client wants to use cp850, then check this item <strong>and</strong> enter value “cp850”. This sets charset=cp850.<br />
Server Default: Upon login negotiation client uses character set specified by the <strong>ASE</strong>. This sets<br />
charset=ServerDefault.<br />
Client Default: When this is selected, charset=ClientDefault, <strong>and</strong> this uses the charset based on the operating<br />
system settings. In this case, another property is set, [codepagetype/CodePageType] <strong>and</strong> is set to either ANSI (ansi) or<br />
OEM (oem).<br />
Packet Size [packetsize/PacketSize]: When Server Packet Size is checked, this sets enableserverpacketsize/<br />
EnableServerPacketSize to 1 [on by default], which enables <strong>ASE</strong> 15.0 or higher to choose an optimal packet<br />
size. The PacketSize property defaults to 512 bytes. When the property Restrict Maximum Packet Size<br />
[restrictmaximumpacketsize/ RestrictMaximumPacketSize] is set, <strong>ASE</strong> can only optimize to this value, unless <strong>ASE</strong><br />
maximum packet size is less than this value, which is set in the dialog for Server Packet Size, <strong>and</strong> is actually set in the<br />
PacketSize property. Therefore, if the Server Packet Size dialog is set to 2048, then PacketSize=2048.
Transaction Tab<br />
Server Initiated Transactions [serverinitiatedtransactions/ServerInitiatedTransactions]: When SQL_ATTR_<br />
AUTOCOMMIT is set to “1” Adaptive Server starts managing transactions as needed. The driver issues a “set chained on”<br />
comm<strong>and</strong> on the connection. Older <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong>s do not use this feature <strong>and</strong> manage the job of starting transactions<br />
by calling begin tran. Set this property to “0” if you want to maintain the old behavior or require that your connection<br />
not use “chained” transaction mode. (Default = 1)<br />
Distribute Transactions: Used when <strong>ASE</strong>/DTM (Distribute Transaction Manager) is used on the <strong>ASE</strong>, which requires<br />
an <strong>ASE</strong>_DTM license.<br />
Tightly Coupled Transactions [tightlycoupledtransaction/ TightlyCoupledTransaction]: (Windows only) When using<br />
distributed transactions, if you are using two DSNs which connect to the same <strong>ASE</strong> server, set this to 1. See “Using<br />
Distributed Transactions” on page 41, in Chapter 3, “<strong>ASE</strong> Advanced Features.” (Default = 0)<br />
Distributed Transaction Protocol [distributedtransactionprotocol/ DistributedTransactionProtocol]: Allows the<br />
driver to use either an XA protocol or OleNative protocol when using distributed transactions. See “Using Distributed<br />
Transactions” on page 41, in Chapter 3, “<strong>ASE</strong> Advanced Features.” This is either of two values: XA or <strong>OLE</strong>. For windows<br />
clients only. (Default = XA)<br />
17
18<br />
About Tab<br />
This panel provides file (sybdrvodb.dll) version information. <strong>Driver</strong> Name is always “Adaptive Server Enterprise”.<br />
<strong>Driver</strong> Version relates to the file version of the sybdrvodb.dll. <strong>Driver</strong> <strong>O<strong>DB</strong>C</strong> Version is the version of <strong>O<strong>DB</strong>C</strong> API used with<br />
this driver.<br />
17 uninstaLLing OeM pROducts<br />
After successfully migrating to <strong>Sybase</strong>’s <strong>O<strong>DB</strong>C</strong> driver <strong>and</strong> <strong>OLE</strong> <strong>DB</strong> <strong>Provider</strong>, uninstalling <strong>and</strong> removing the OEM<br />
products will be necessary if you don’t wish to retain these older products. This section explains how this can be done<br />
manually if uninstalling doesn’t work with the old SDKs.<br />
<strong>Sybase</strong> <strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong><br />
There are two areas to work with here, the files <strong>and</strong> the registry. For the files, the default location is %SYB<strong>ASE</strong>%\<br />
<strong>O<strong>DB</strong>C</strong>. There are no newer files from the <strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> installed here. When you’re satisfied that your migration<br />
went well <strong>and</strong> you have good backups of the system <strong>and</strong> the older <strong>O<strong>DB</strong>C</strong> folder, you can remove the folder <strong>and</strong> its<br />
contents.
In the above diagram %SYB<strong>ASE</strong>% = C:\<strong>Sybase</strong>\ocs\syb1251.<br />
PLE<strong>ASE</strong> NOTE: Be extremely careful when modifying the registry. Make sure you have a current backup before you<br />
do any deletions of the OEM <strong>O<strong>DB</strong>C</strong> driver.<br />
DSN Removal<br />
You can remove DSNs from the registry directly or by using the <strong>O<strong>DB</strong>C</strong> Data Source Administrator tool (<strong>O<strong>DB</strong>C</strong>AD32.<br />
exe). It’s recommended that you use the admin tool as it does a good job of removing the DSN from the registry.<br />
Simply look for your DSNs under the User <strong>and</strong> System tab, select the DSN <strong>and</strong> remove them with the “Remove” button.<br />
You need to be aware of all your User <strong>and</strong> System DSNs as well as possible File DSNs.<br />
The User <strong>and</strong> System DSNs are located in the registry under HKCU\Software\<strong>O<strong>DB</strong>C</strong>\<strong>O<strong>DB</strong>C</strong>.INI for User DSNs <strong>and</strong><br />
HKLM\Software\<strong>O<strong>DB</strong>C</strong>\<strong>O<strong>DB</strong>C</strong>.INI for System DSNs. Each active DSN is listed as a folder under the <strong>O<strong>DB</strong>C</strong>.INI folder.<br />
If you remove the folder here from the registry be aware there’s also another folder under <strong>O<strong>DB</strong>C</strong>.INI, “<strong>O<strong>DB</strong>C</strong> Data<br />
Sources”:<br />
Under this folder, look for the DSNs on the right with Data of “<strong>Sybase</strong> <strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong>” <strong>and</strong> the Name of your<br />
targeted DSN. Once you remove the DSNs in this manner, they’ll no longer be available on the system.<br />
Another recommendation is to make sure you use the migration tool (Chapter 8) so you can use the same DSN<br />
names for your applications. Once you’re satisfied everything works you can remove the renamed DSN.<br />
19
20<br />
<strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> removal<br />
To h<strong>and</strong>le the <strong>O<strong>DB</strong>C</strong> driver registry information there are two areas to work with: The <strong>Driver</strong> <strong>and</strong> the DSN (Data<br />
Sources). The driver name is “<strong>Sybase</strong> <strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong>”. In the registry this folder is located under:<br />
HKLM\Software\<strong>O<strong>DB</strong>C</strong>\<strong>O<strong>DB</strong>C</strong>INST.INI\<strong>Sybase</strong> <strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong><br />
This folder contains various items related to the <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> <strong>and</strong> in particular the folder location. If you are unsure<br />
of where the <strong>Sybase</strong> <strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> is installed, look here. Once this is removed you’ll be unable to create new<br />
<strong>Sybase</strong> <strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> DSNs.<br />
To finish with the driver removal, also remove the item under “HKLM\Software\<strong>O<strong>DB</strong>C</strong>\<strong>O<strong>DB</strong>C</strong>INST.INI\<strong>O<strong>DB</strong>C</strong> <strong>Driver</strong>s”:<br />
The item is “<strong>Sybase</strong> <strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong>”. Once this is removed, as well as the aforementioned “<strong>Sybase</strong> <strong>ASE</strong> <strong>O<strong>DB</strong>C</strong><br />
<strong>Driver</strong>” folder, you’ll no longer be able to see it on your system, nor will you be able to create DSNs as “<strong>Sybase</strong> <strong>ASE</strong><br />
<strong>O<strong>DB</strong>C</strong> <strong>Driver</strong>”.<br />
Lastly, you can remove the %SYB<strong>ASE</strong>%\<strong>O<strong>DB</strong>C</strong> folder from the PATH statement. It’s not a requirement but it’ll free up<br />
space on the variable.<br />
OEM <strong>OLE</strong> <strong>DB</strong> <strong>Provider</strong> removal<br />
The removal of the OEM <strong>OLE</strong> <strong>DB</strong> <strong>Provider</strong>, “<strong>Sybase</strong> <strong>ASE</strong> <strong>OLE</strong> <strong>DB</strong> <strong>Provider</strong>”, is not as difficult. There are two steps to the<br />
task. The assumption here is that the user has already migrated the data sources to the SOD file extension (with the<br />
migrating tool), <strong>and</strong> now wishes to remove the <strong>Sybase</strong> <strong>ASE</strong> <strong>OLE</strong> <strong>DB</strong> <strong>Provider</strong>.
The default install location is %SYB<strong>ASE</strong>%\<strong>OLE</strong><strong>DB</strong>. The first thing to do is to un-register the provider using the<br />
regsvr32.exe utility, included in the Windows operating system. To do this, cd to the %SYB<strong>ASE</strong>%\<strong>OLE</strong><strong>DB</strong> folder,<br />
then issue:<br />
REGSVR32 /u SYDA<strong>ASE</strong>.DLL<br />
The next step is to remove the data sources <strong>and</strong> the files. By default the data source files <strong>and</strong> *.IDS files are located<br />
in the %SYB<strong>ASE</strong>%\<strong>OLE</strong><strong>DB</strong> folder. There’s a possibility the IDS files are located in an alternate folder. You can check this<br />
by running the <strong>Sybase</strong> <strong>ASE</strong> <strong>OLE</strong> <strong>DB</strong> Configuration Manager utility, sydaadm.exe, found in %SYB<strong>ASE</strong>%\<strong>OLE</strong><strong>DB</strong>.<br />
Select the “Tools” | “Options” | “Main Data Source Directory” options from the menu. You’ll see something like this:<br />
If the current directory displayed is different from %SYB<strong>ASE</strong>%\<strong>OLE</strong><strong>DB</strong>, you need to take note of this <strong>and</strong> remove it<br />
when you’re ready.<br />
The last thing to do is to remove the %SYB<strong>ASE</strong>%\<strong>OLE</strong><strong>DB</strong> directory:<br />
Once this is all done, you can remove the %SYB<strong>ASE</strong>%\<strong>OLE</strong><strong>DB</strong> folder from the PATH environment variable. This frees<br />
up space for products that require folders to be on PATH such as the <strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> <strong>and</strong> <strong>ASE</strong> <strong>OLE</strong> <strong>DB</strong> <strong>Provider</strong>.<br />
21
<strong>Sybase</strong>, Inc.<br />
Worldwide Headquarters<br />
One <strong>Sybase</strong> Drive<br />
Dublin, CA 94568-7902<br />
U.S.A<br />
1 800 8 sybase<br />
www.sybase.com<br />
As a review, the steps to remove the OEM products are to cleanup the registry, remove the old files <strong>and</strong> remove<br />
the folders from the system PATH environment variable. You’ll want to make sure you’re ready for this after your<br />
migration. Make sure you have current backups before you proceed with the removals.<br />
18 RefeRences<br />
The following references might be of further assistance in the migration process.<br />
• “<strong>Migration</strong> Mania: Tips for Migrating <strong>ASE</strong> <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> <strong>and</strong> <strong>OLE</strong> <strong>DB</strong> <strong>Provider</strong>”; ISUG <strong>Technical</strong> Journal, Issue #5,<br />
Sep/Oct, 2007.<br />
• “New Features Open Server 15.0 <strong>and</strong> SDK 15.0 for Microsoft Windows, Linux <strong>and</strong> UNIX”; http://infocenter.sybase.<br />
com/help/index.jsp?topic=/com.sybase.dc20155_1500/html/newfesd/title.htm&toc=/com.sybase.help.sdk_15.0/<br />
toc.xml<br />
• “<strong>ASE</strong> 15.0 <strong>O<strong>DB</strong>C</strong> <strong>Driver</strong> by <strong>Sybase</strong> User’s Guide”;<br />
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.dc20116_1500/html/aseodbc/title.htm&toc=/<br />
com.sybase.help.sdk_15.0/toc.xml<br />
• “<strong>ASE</strong> 15.0 <strong>OLE</strong> <strong>DB</strong> <strong>Provider</strong> User’s Guide”;<br />
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.dc00075_1500/html/oledb/title.htm&toc=/com.<br />
sybase.help.sdk_15.0/toc.xml<br />
Copyright © 2009 <strong>Sybase</strong>, Inc. All rights reserved. Unpublished rights reserved under U.S. copyright laws. <strong>Sybase</strong> <strong>and</strong><br />
the <strong>Sybase</strong> logo are trademarks of <strong>Sybase</strong>, Inc. or its subsidiaries. All other trademarks are the property of their respective<br />
owners. ® indicates registration in the United States. Specifications are subject to change without notice. 03/09