Download Sybase - Oracle

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Entity–attribute–value model wikipedia , lookup

Database wikipedia , lookup

Microsoft Access wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Relational model wikipedia , lookup

Database model wikipedia , lookup

Clusterpoint wikipedia , lookup

Team Foundation Server wikipedia , lookup

SQL wikipedia , lookup

Oracle Database wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

PL/SQL wikipedia , lookup

Transcript
SYBASE SERVICE OFFERING:
QUESTIONNAIRE
Oracle Partner Technical Services
Author:
Tom Laszewski
Creation Date: November 19, 1998
Last Updated:
December 19, 2001
Control Number:
Version:
2.1
Approvals:
Raja Srinivasan
Copy Number _____
Document Control
Change Record
Date
Author
Version
Change Reference
November 19,1998
Tom Laszewski
2.0
Original document put into Oracle format.
December 19, 2001
Frédéric Janski
2.1
Modifications to Oracle 9i format.
Reviewers
Name
Position
Distribution
Copy
No.
Name
Location
1
2
3
4
Oracle Partner Technical Services
234813393 (v. 2.1 )
Document Control
ii
Contents
Document Control .......................................................................................... ii
Change Record ......................................................................................... ii
Reviewers .................................................................................................... ii
Distribution .................................................................................................. ii
Executive Summary ........................................................................................ 1
Introduction ..................................................................................................... 2
Purpose ...................................................................................................... 2
Background ............................................................................................... 2
Section I - General Information .................................................................... 3
Client Information ..................................................................................... 3
Section II - Questions ...................................................................................... 6
Architecture .............................................................................................. 6
Database ................................................................................................. 11
Current use of stored procedures (if applicable) .............................. 19
Current use of Embedded SQL/C ........................................................ 21
Current use of DB-Library/C-C++ .......................................................... 22
Current use of Open Client -Client Library/C-C++............................. 23
Current use of Visual Basic .................................................................... 24
Current use of Powerbuilder ................................................................. 25
Current use of other application development tools ....................... 28
Open Server ............................................................................................ 29
Support ..................................................................................................... 30
Other special logic/subsystems to migrate ........................................ 31
Oracle Partner Technical Services
234813393 (v. 2.1 )
Document Control
iii
Documentation ...................................................................................... 32
Section III - INFORMATION/SOLUTIONS ....................................................... 33
Sybase Adaptive Server Database ...................................................... 33
Sybase Adaptive Server SQL ................................................................. 33
Sybase Adaptive Server Stored Procedures ....................................... 33
Solution: Remove DDL from the stored procedure or use Dynamic
PL/SQL to solve some of these commands. ....................................... 34
Sybase Embedded SQL/C and COBOL .............................................. 34
DB-Library/C-C++ .................................................................................... 34
Open Client - Client Library/C-C++...................................................... 34
Open Server ............................................................................................ 35
Visual Basic .............................................................................................. 36
Powerbuilder ........................................................................................... 37
Oracle Partner Technical Services
234813393 (v. 2.1 )
Document Control
iv
Executive Summary
This template is used by Oracle Consulting, and Partner technical Services,
to migrate a customer from Sybase Adaptive Server to Oracle9i. Oracle has
developed this template based upon the common deliverables produced
for customers migrating from competitive database platforms to Oracle9i.
This is the first template used when an Oracle consultant is preparing scope
and project plan documents for a Sybase Adaptive Server to Oracle9i
migration project. The information in this document is then used to
complete the Project Scope template.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Executive Summary
1
Introduction
Purpose
This documents contains questions that need to be answered for any
Sybase Adaptive Server to Oracle9i migration effort. The four main sections
of the document are as follows:
1. Section 1(General Information) - Asks general questions about the
company and product.
2. Section 2(Questions) - Asks all the questions that are necessary to
prepare a thorough scope document.
3. Section 3(Information/Solutions) - Contains information about
converting systems from Sybase Adaptive Server to Oracle9i, as well as
solutions to common problems.
The questions in Section II are asked of the client. The answers, along with
the project scope template and section III of this document, are used to
complete the project scope document.
Background
Oracle has performed many Sybase Adaptive/SQL Server to Oracle9i
migrations over the past five years. Oracle consultants have asked many
of the same questions in order to perform these migration efforts. This
document is a compilation of the questions asked of Sybase Adaptive
Server technical personnel in order to successfully complete a Sybase
Adaptive Server to Oracle9i project scope effort.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Introduction
2
Section I - General Information
Client Information
Client name
Address
System/application
name
Contacts:
Manager:
Technical Manager:
DBA:
Lead Developer:
Others:
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section I - General Information
3
E-mail address
Manager:
Technical Manager:
DBA:
Lead Developer:
Others:
Phone/Fax/Pagers
Manager:
Technical Manager:
DBA:
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section I - General Information
4
Lead Developer:
Others:
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section I - General Information
5
Section II - Questions
Architecture

Describe the business use of the system:
Why:
Oracle Partner Technical Services
234813393 (v. 2.1 )
Need to understand how the system is used
Section II - Questions
6

Describe the architecture of the system:
Why: This will answer many questions regarding the system, and will introduce
Oracle Consulting to the technical environment.
 Online:
 Batch:
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
7
 Ad hoc:
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
8

Describe the use of Sybase’s Sybase Enterprise Application Serve
(Jaguar Transaction Server):
Why: Sybase offers three versions of EAServer, each of which relies on
core Java 2, Enterprise Edition (J2EE) standards, including Enterprise
JavaBeans (EJB). In addition, each version offers cross-client and
cross-component support for virtually any type of application,
including those based on CORBA, XML, HTML, DHTML, ActiveX,
PowerBuilder, COM, C, and C++. This area may need special
consideration; different alternatives exist in Oracle9i.
The use of Jaguar Transaction Server is mainly for giving COM objects
declarative transaction properties. If the COM object are staying as
COM objects then Jaguar Transaction Server can be used unchanged.
COM+/ Jaguar Transaction Server components can access Oracle9i
database servers. However if the COM objects are being migrated to
say Java, an alternative approach such as Oracle 9iAS OC4J will need
to be used.

Describe use of Sybase Enterprise Application Server:
Why: This area may need special consideration; Oracle offers the Oracle 9i
Application Server. More on this can be found in section III.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
9

Describe any special features such as: replication, parallel servers or
distributed processing.
Why: This area may need special consideration; different alternatives exist
in Oracle9i.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
10
Database

Sybase Adaptive Server version number
Why: Oracle and third party migration tools exist for specific versions of
Sybase Adaptive Server and Oracle9i. In addition, different versions of
Sybase Adaptive Server have different features.

Has the Adaptive Server been installed as case insensitive?
Why: Sybase allows an Adaptive Server to be installed as case insensitive. In
Oracle9i, this is not allowed so and additional column with all upper case
needs to be created. Oracle9i handles this problem by allowing indexes
to be built using functions on the column(s) being indexed. Therefore, the
column can be created with an index as UPPER.

Type of system (such as: OLTP, OLAP, data warehouse etc.)
Why: The type of system will effect the number and size of the redo logs and
rollback segments. The type of system and number of tables will also effect
the disk layout, and therefore the number and size of tablespaces.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
11

Total size of development(and/or production) database in MB
Why: Space needs to be made available for the corresponding Oracle9i
database, as well as the data files that will hold the data as it is being
transferred between Sybase Adaptive Server and Oracle9i. Also the size of
the database will effect table and/or tablespace setting such as: INITIAL,
NEXT, PCTINCREASE, MINEXTENTS and MAXEXTENTS.

Number of tables
Why: The number of tables will impact the estimate for the schema
migration. If the Oracle9i Migration Workbench is used, the process should
be for the most part automatic. If the schema migration is done manually,
an estimate needs to be made for schema migration based upon the
number of tables.

Size and usage of tables
Why: The size and usage of tables will effect where tables will be placed (i.e.
tablespaces).
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
12
 Largest tables (number and size):
 Most active tables (number and size):
 Look up tables (number and size):

Number of views
Why: Views can be converted automatically using the Sybase Migration
Workbench tool. All views need to be graded on level of complexity
(simple, medium, complex and very complex).
Complexity items: Items that cause a view to be more difficult to migrate
include: system tables, Adaptive Server specific functions. ANSI standard
joins: In some case we must also rewrite views containing specific joins types
because of the lack of support in the Migration Workbench.
Total Simple (integrity only):
Total Medium (1 complexity item):
Total Complex (2 complexity item):
Total Very Complex (3 complexity item:
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
13

Number of indexes
Why: Indexes are automatically converted if the Oracle9i Sybase Migration
Workbench is used. If the schema migration is done manually, an estimate
needs to be made for schema migration based upon the number of
indexes.

Number of clustered indexes
Why: Indexes are automatically converted if the Oracle Migration
Workbench. However, the same concept of clustered indexes does not
exist between Sybase Adaptive Server and Oracle9i Sybase Adaptive Server
clustered indexes mean the data is organized in the order of the clustered
index. This order is allows maintained.
Since Oracle does not have the same concept, detailed analysis of Sybase
Adaptive Server clustered indexes may need to be done. In Oracle9i,
Index-Organized Tables (IOTs) can be used to simulate a Sybase Adaptive
Server clustered index. Index-Organized Tables were introduced in Oracle9i
to provide fast, key-based access to table data for queries that involve
exact match or range search access. Data rows are stored in the index,
grouped according to the primary key. IOTs differ from regular table indexes
in that they store both the primary key and non-key columns. The structure of
an index-organized table requires a primary key index, but also allows
secondary indexes built on non-primary key columns.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
14

Tables with two or more TEXT columns exceeding 4000 characters
Why: An Oracle9i CHAR can be a length of up to 2000 characters. An
Oracle9i VARCHAR can be a length of up to 4000 characters. A LONG
data type can be up to 2 gigabytes in size. However, only one LONG
column can exist on a table. Oracle9i has the LOB data type that can be
up to 4 gigabytes in length and there can be up to 1000 LOB columns on a
table. It is 1000 since this is the maximum number of columns on a table.

Tables with index on TEXT columns that exceed 4000 characters
Why: Character columns greater than 4000 characters can only be LONG
and LOB. Using the Oracle9i context option CLOB, LONG and BFILE columns
can be indexed.

Tables with Identity columns
Why: Sybase Adaptive Server identity data types columns are automatically
converted if the Oracle Migration Workbench is used. A NUMBER column
with an associated sequence and trigger is created in the destination
Oracle database for each IDENTITY column in the Sybase Adaptive Server
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
15
database. Each time a row is inserted, the trigger queries the sequence for
the next value and inserts that value into the IDENTITY column. Additionally,
this value is inserted into the omwb_emulation user you created as part of
the @@IDENTITY global variable. This allows the T/SQL @@IDENTITY global
variable to be emulated within the Oracle Model.

Tables with DATETIME columns
Why: Oracle9i supports the following timestamp datatypes:

TIMESTAMP (fractional_seconds_ precision) Year, month, and day
values of date, as well as hour, minute, and second values of time,
where fractional_seconds_precision optionally specifies the
number of digits in the fractional part of the SECOND datetime field
and can be a number in the range 0 to 9. The default is 6. For
example, you specify TIMESTAMP as a literal as follows:
TIMESTAMP'1997-01-31 09:26:50.124'

TIMESTAMP (fractional_seconds_precision) WITH TIME ZONE All
values of TIMESTAMP as well as the time zone displacement value,
where fractional_seconds_precision optionally specifies the
number of digits in the fractional part of the SECOND datetime
field and can be a number in the range 0 to 9. The default is 6. For
example, you specify TIMESTAMP WITH TIME ZONE as a literal as
follows:
TIMESTAMP '1999-04-15 8:00:00 -8:00'
This can also be specified as
TIMESTAMP '1999-04-15 8:00:00 US/Pacific'

Oracle Partner Technical Services
234813393 (v. 2.1 )
TIMESTAMP (fractional_seconds_precision) WITH LOCAL TIME ZONE
Section II - Questions
16
All values of TIMESTAMP, with the following exceptions:


Data is normalized to the database time zone when it is
stored in the database.

When the data is retrieved, users see the data in the
session time zone.
Number of triggers
Why: Triggers are converted automatically using the Sybase Migration
Workbench. All triggers need to be graded on level of complexity (simple,
medium, complex and very complex).
Complexity items: Items that cause a trigger to be more difficult to migrate
include: temporary tables, DDL, transaction control logic, use of
inserted/deleted tables in selects or DML, system tables, and global
variables.
Oracle9i was both before and after triggers at the row and statement levels.
Sybase Adaptive Server only has “statement after” triggers.
Sybase Adaptive Server uses the “inserted” and “deleted” tables to make
comparisons of old values to new values. If the “inserted” and “deleted”
tables are used in a SQL Server trigger the Oracle9i trigger needs to be a
row level trigger.
In many cases triggers can be migrated to Oracle9i table check and
referential constraints. This is because Oracle9i enforces foreign key and
cascade delete constraints at the table level (automatically, when the
constraint is defined).
Total Simple(integrity only):
Total Medium(1 complexity item):
Total Complex(2 complexity items):
Total Very Complex(3 complexity items):
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
17
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
18
Current use of stored procedures (if applicable)

Total number of stored procedures
Why: Stored procedures will be automatically migrated using the Migration
Workbench tool. However, some manual coding will needed to be done. All
stored procedures need to be graded on level of complexity (easy, average
and complex).
NOTE: The Sybase Migration Workbench can reduce the time to migrate stored
procedures by 40 - 100 percent. If stored procedures do not return multiple
result sets to a client application, the migration effort is much easier. This is
because results sets processing is different between Adaptive Server and
Oracle9i.

Percentage of stored procedures using temporary tables
Why: Temporary tables are supported in Oracle9i. Each use of a temporary
table needs to be analyzed to see how it can be migrated. Oracle9i has a
similar concept to Sybase temporary (pound) tables.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
19

Percentage of stored procedures using “raiserror without return”
Why: "Raiserror without return" is supported in Oracle9i by having an exception
handler for each statement and having the exception handler go to the next
block of PL/SQL code.

Percentage of stored procedures that are cursory procedures (stored
procedures that are returning result sets).

Single

Multiple
Why: May need special coding to migrate to Oracle9i.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
20
Current use of Embedded SQL/C

Number of modules with ESQL/C using only static SQL
Why: Code needs to manually migrate to Oracle9i Pro*C or Oracle9i OCI.
More on this can be found in section III.

Number of modules with ESQL/C using dynamic SQL
Why: Code needs to manually migrate to Oracle9i Pro*C or Oracle9i OCI.
With Oracle9i, it may be preferred to use the Oracle9i Call Interface in stead
of Embedded SQL to implement this. This is because Sybase Adaptive Server
dynamic SQL is different than Oracle9i s’ dynamic SQL.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
21
Current use of DB-Library/C-C++

Number of modules with DB-Library using only static SQL
Why: Code needs to manually migrate to Oracle9i OCI. More on this can
be found in section III.

Number of modules with DB-Library using dynamic SQL
Why: Code needs to manually migrate to Oracle9i OCI. More on this can
be found in section III.

Number of modules with DB-Library using stored procedures
Why: Code needs to manually migrated to Oracle9i OCI. More on this can
be found in section III.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
22
Current use of Open Client -Client Library/C-C++

Number of modules with Open Client - Client Library using only static
SQL
Why: Code needs to manually migrate to Oracle9i OCI. More on this can
be found in section III.

Number of modules with Open Client - Client Library using dynamic SQL
Why: Code needs to manually migrate to Oracle9i OCI. More on this can
be found in section III.

Number of modules with Open Client - Client Library using stored
procedures
Why: Code needs to manually migrate to Oracle9i OCI. More on this can
be found in section III.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
23
Current use of Visual Basic

Number of Visual Basic programs
Why: The number of Visual Basic programs will impact the estimate for
converting.

Number of Visual Basic data control objects
Why: The number of Visual Basic data control objects will impact the
estimate for converting.

Number of places Visual Basic calls stored procedures with multiple
result sets
Why: The number of places Visual Basic calls stored procedures with
multiple result sets will impact the estimate for converting. This is because
the stored procedure will need to be rewritten.

Is OLE-DB being used as the database access API
Why: OLE-DB is yet another abstraction layer on top of ODBC API.
However, the first version of OLE-DB was dependant on the ODBC 3.0
specs
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
24
and the new version is dependant on the ODBC 3.5 specs. Therefore,
the ODBC drive being used must be ODBC 3.5 compliant.
Another option to OLE-DB is the use of Oracle9i Objects for OLE
(OO4O).

Do you expect to manually redesign these using Oracle9i Developer
or Oracle Designer?
Why: If the MS Visual Basic application is to be totally rewritten, more
time will be needed to perform the application migration.
Current use of Powerbuilder

Number of Sybase Powerbuilder programs
Why: The number of Powerbuilder programs will impact the estimate for
converting. Normally, the only “changes” required for Powerbuilder are
replacement of the Adaptive Server ODBC driver with an Oracle9i ODBC
driver or Powerbuilder/Adaptive Server native driver with a Powerbuilder/
Oracle9i native driver, and changing the syntax of calls to stored
procedures.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
25

Number of Powerbuilder data windows
Why: The number of Powerbuilder data windows will impact the estimate
for converting.

Number of places Powerscript sends SQL to the back end
Why: The number of places Powerscript sends SQL to the backend will
impact the estimate for converting.

Number of places Powerscript calls stored procedures
Why: The number of places Powerscript calls stored procedures will impact
the estimate for converting.

Number of places Powerscript calls stored procedures with multiple
result sets.
Why: The number of places Powerscript calls stored procedures with
multiple result sets will impact the estimate for converting.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
26

Do you expect to use third party tools to migrate these
Why: A third party tool can decrease the conversion estimate. More on
this can be found in section III.

Do you expect to manually redesign these using Oracle9i Designer or
Oracle9i Developer
Why: If the Sybase Powerbuilder application is to be totally rewritten, more
time will be needed to perform the application migration.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
27
Current use of other application development tools

Do you use UNIFACE, Delphi, MS Access or some other application
development tool? Which one?
Why: Typically independent 3RD party application development tools are
easier to migrate than proprietary tools such as Embedded SQL/C or
Sybase DB-Library. Most tools support the major database vendors:
Oracle9i, MS SQL Server, and Sybase Adaptive Server.

How many windows does the system have? How many have database
access?
Why: If the database access code contains Sybase Adaptive Server
specific syntax it may need to be manually modified.

Is the SQL embedded in the tool or are stored procedures used?
Why: As a rule, it is easier to migrate applications that uses embedded SQL
then it is to migrate applications that use stored procedures. This is
because stored procedures contain a proprietary database SQL
programming language and return results to the client in a proprietary
fashion.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
28
Open Server

Do you use Open Server as a gateway or auxiliary server?
Why: There is no direct equivalent in Oracle9i. However, there are a
number of alternative methods that can be used to achieve the same
functionality. More on this can be found in section III.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
29
Support

DBA Maintenance Scripts? (Examples: backup, recovery, database
integrity, index rebuilds)
Why: The scripts will contain database proprietary NT commands and SQL.

DBA tools and scripts? (Examples: 3RD party backup tools, 3RD party DBA
tools, import/export scripts)
Why: These tools and scripts will have to migrated, or alternatives found.

Other? (Examples: ad hoc scripts)
Why: These tools, utilities and/or scripts will have to migrated.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
30
Other special logic/subsystems to migrate

Any other special subsystems or special processing the system
performs? (Example: A security subsystem that implements security, by
user, horizontally/”by row”. )
Why: These special subsystems have to migrate, or alternatives found.
Perhaps Oracle9i has the same functionality built-in. Oracle9i has built-in
functionality for row level security.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
31
Documentation

System documentation (Examples: system flows, program functionality)
Why: System documentation will most likely change.

User documentation
Why: User documentation will most likely change.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section II - Questions
32
Section III - INFORMATION/SOLUTIONS
Sybase Adaptive Server Database
The Sybase Adaptive Server database migrates fairly easy to the Oracle9i
database. A few differences are worth noticing:

Case insensitive database - Adaptive Server allows a SQL Server to be
installed as case insensitive. In Oracle9i, this is not allowed so and
additional column with all upper case needs to be created. In
Oracle9i, this problem is resolved because Oracle9i allows indexed to
be created using functions on columns.

Identity datatype - This becomes a sequence number in Oracle9i
Sybase Adaptive Server SQL
Sybase Adaptive Server SQL and Oracle9i SQL are both based upon the
same underlying ANSI database language standards. However, RDBMS
providers have often added their own extensions to the standard
language. This engine-specific SQL is for the most part handled by the
automated migration tool.

CASE Statements - The CASE statement is used to perform different
actions in the return columns based upon the value in a column.
Solution 1: Tool replaces CASE statements with the Oracle9i DECODE
statement.
Solution 2: You can use the Oracle9i CASE statement directly in PL/SQL.

Other SQL differences - SQL difference were asked for in section II.
NOTE: More on these extensions and possible solutions can be found in the
appendix of the project scope template.
Sybase Adaptive Server Stored Procedures
Sybase stored procedures can be migrated to Oracle9i with the help of
our Stored Procedure converter tool. However, there are a few features of
Sybase, that do not map to features in Oracle9i, or only maps with
modifications:

Oracle Partner Technical Services
234813393 (v. 2.1 )
Results set: Sybase Adaptive Server stored procedures can return data
to the calling environment by means of a SQL query inside the stored
procedure. The Stored Procedure Converter implements this using
Section III - INFORMATION/SOLUTIONS
33
cursor variable, which implies application modifications are necessary.
The Oracle ODBC and OLEDB drivers make this problem invisible to the
application unless multiple result sets are passed back.
Solution: Slight changes to the application when stored procedures are
called.

DDL: Sybase Adaptive Server stored procedures can contain DDL. In
Oracle9i DDL is allowed, however, an implicit commit occurs.
The Oracle Migration Workbench ignores most Sybase Adaptive Server
DDL commands and writes a warning to the Log window.
Solution: Remove DDL from the stored procedure or use Dynamic
PL/SQL to solve some of these commands.
Sybase Embedded SQL/C and COBOL
The syntax used in Sybase Adaptive Server for Embedded SQL from C and
COBOL programs is different from that used by Oracle9i.
Solution: . If ANSI SQL/ODBC escape sequences are used it should work
with Oracle butSQL Sybase Adaptive Server specifics will need re-coding
The code needs to be converted manually.
DB-Library/C-C++
DB-Library code is similar to Oracle9i OCI.
Solution: Re-code the DB-Library calls to OCI calls.
papers and example code on how this is done.
Oracle9i has write
Open Client - Client Library/C-C++
Open Client - Client Library code is similar to Oracle9i OCI.
Solution: Re-code the DB-Library calls to OCI calls.
papers and example code on how this is done.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Oracle9i has write
Section III - INFORMATION/SOLUTIONS
34
Open Server
Sybase Open Server is a multi-threaded process that accepts requests
from native Sybase or ODBC clients. Oracle9i has no exact equivalent to
Sybase Open Server. However, there are a variety of solutions that can be
used to achieve the same result in Oracle9i. First, let us take a look at the
equivalent product issue. Sybase Open Server has the following
characteristics:

It is a multithreaded listener - It listens for Sybase connections and
can handle multiple connections at the same time.

It only understands and listens for Sybases’ proprietary network
protocol TDS (Tabular Data Stream) - The only client that it
understands is a client that talks using Sybase TDS.

It can only be coded using Sybases’ proprietary API called Open
Server Library - The Open Server program is coded using Sybase’s
proprietary API.

It works with any client programming language or application
development tool - Any client program that can talk to a Sybase
SQL Server can talk to a Sybase Open Server.
So what does Oracle9i have? The closest product Oracle9i has is
Application Server. It compares as follows:

It is a multithreaded listener - Application Server has this. However, it
is not currently available on all platforms so HBOC was not
interested.

It only understands and listens for Sybases’ proprietary network
protocol TDS Tabular Data Stream) - Application Server understands
HTTP and IIOP. Therefore, clients can not transparently connect to
the Application Server like they can to an Open Server and Sybase
SQL Server. This is the first big problem.

It can only be coded using Sybases’ proprietary API called Open
Server Library - Can code using JAVA, PL/SQL and C.

It works with any client programming language or application
development tool - This is the second big problem. Application
Server works well with Web browsers. However, if the client is not a
Web browser it must talk IIOP. Few application development
tools(such as: Powerbuilder, VB) talk IIOP at this time.
Sybase Open Server to Oracle Solutions:
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section III - INFORMATION/SOLUTIONS
35
Oracle Packages, Stored Procedures and functions
Many times the reason Sybase Open Server is used is to take load off of the
SQL Server because of the single process multithreaded architecture.
Another reason is because T-SQL is not robust enough (can not read or
write to system files). Because Oracle9i s' architecture and database
programming language (PL/SQL) does not have these limitations, the logic
can be written using Oracle9i packages, stored procedures and/or
functions.
Sybase Open Connect Gateway product
Place a Sybase Open Connect Gateway between the Open Servers and
Oracle9i databases. The draw back is the gateway will not support all of
“Sybase like” database access, such as: Open Client-Bulk Library calls.
Use OCI Wrapper Libraries to convert Open Server Sybase Client-Library
calls to Oracle OCI calls
This would involve examining each module with Sybase Open Client code
and replacing that code with OCI calls. This approach has risks since the
client still uses a Sybase ODBC driver. Sybase ODBC drivers expect certain
Sybase ODBC related tables and stored procedures to exist in the
database.
Call C function from stored procedure
Place all the Open Server logic in C functions that are called from Oracle9i
stored procedures.
Network Computer Architecture
Rewrite the entire product using one front end (Jdeveloper, Developer or
Designer) and place all the Open Server logic in the Oracle9i Application
Server. This would allow database independence and a common set of
interfaces to the database. Therefore, the front-end must be a browser
that talks HTTP, or COBRA objects that talk IIOP, to the middleware piece
that is an Oracle9i Application Server.
Visual Basic
If stored procedures are not used, the only things to change are Oracle9i
ODBC driver, Net8 on client, and minor SQL statement changes. If stored
procedures are used but do not return multiple result sets, then the things
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section III - INFORMATION/SOLUTIONS
36
to change are Oracle9i ODBC driver and Net8 on client. If stored
procedures are used that return multiple result sets, then the things to
change are Oracle9i ODBC driver that supports reference cursors, Oracle
Net on client, changes to the stored procedure calls, and changes to
handling results with multiple reference cursor.
Solution: The solution is dependent upon how the application is code:
embedded SQL or stored procedures. The paragraph above gives the
options.
Powerbuilder
If stored procedures are not used, the only things to change are Oracle
ODBC driver or Powerbuilder native driver for Oracle, Oracle net on client,
and minor SQL statement changes. If stored procedures are used but do
not return multiple result sets, then the things to change are Oracle ODBC
driver or Powerbuilder native driver, Net8 on client, and minor SQL
statement changes in stored procedure. If stored procedures are used that
return multiple result sets, then the things to change are Oracle ODBC
driver that supports reference cursors or Powerbuilder native driver, Net8
on client, and changes to the stored procedure calls.
Solution: The solution is dependent upon how the application is code:
embedded SQL or stored procedures. The paragraph above gives the
options.
Oracle Partner Technical Services
234813393 (v. 2.1 )
Section III - INFORMATION/SOLUTIONS
37