Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Entity–attribute–value model 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
Oracle Database wikipedia , lookup
Open Database Connectivity wikipedia , lookup
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