160 likes | 301 Views
<Insert Picture Here>. Application Migration. Application Migration Agenda. Typical Client Applications JDeveloper Application Migration Assistant Typical Middleware and Access Methods used to connect to RDBMS Web Applications MS Access Applications Delphi Applications
E N D
<Insert Picture Here> Application Migration
Application Migration Agenda • Typical Client Applications • JDeveloper Application Migration Assistant • Typical Middleware and Access Methods used to connect to RDBMS • Web Applications • MS Access Applications • Delphi Applications • ESQL/C Applications
Application Migration Typical Client Applications • Typical client software • Visual Basic • VC++ • C# • ESQL/C • 4GL • Access • Delphi • Web Applications • Typical middleware • ODBC • ODBC + Access methods (DAO, RDO, ADO) • OLE/DB • .NET • BDE
Application Migration JDeveloper Application Migration Assistant • Identifies and allows easy navigation between statements in the code that may require modification to work on the Oracle platform. • Analyzes complete projects or single files. • Generates an Analysis Report that summarizes project statistics. • Uses regular expressions in XML format that provide a search rule capability to identify issues • Allows rules to be customized so you can augment the search capability
Application Migration ODBC drivers for Oracle • Oracle ODBC www.oracle.com • Microsoft ODBC www.eu.microsoft.com • Datadirect ODBC www.datadirect.com
Application Migration Microsoft ODBC • Less supported functionality than Oracle’s • No Built-in Scrollable Cursor Support • ResultSets supported via PL/SQL Indexed by Arrays only (non transparent support)
Application Migration Oracle ODBC • Based on latest Oracle OCI • Emulation capabilities • Built-in Scroll Cursor • ResultSets are supported transparently • Supports an Array Interface • Supports LOB
Application Migration Datadirect ODBC • Built-in Scroll Cursor • ResultSets supported transparently • Full LOB Support • Supports an Array Interface • Additional cost
Application Migration Microsoft Access Methods - ODBC • MS Access uses DAO only • VB / SQL Server applications historically use RDO • RDO cursor libraries provide support for scrolling cursors even if the ODBC driver does not (e.g. RDO client batch cursor library) • make sure to select PK columns in the base SELECT statement • ADO and .NET are the more recent access methods.
Application Migration Microsoft Access Methods – OLE/DB • Oracle provides an OLE/DB provider with the same level of functionality as its ODBC driver • OO4O is an OLE server providing full native support for Oracle (written ib OCI) • Available through VB Object and VC++ Class • Proprietary Interface • Do not confuse OO4O and OLE/DB
Application Migration Microsoft Access Methods - .NET • Oracle provides a .NET driver the ODP.Net • XML Support • Resultset Support • Minor changes required to SQLHelper class • .NETDeveloper Center • http://www.oracle.com/technology/tech/dotnet/index.html • Oracle Developer Tools for Visual Studio .NET
Application Migration Web Applications • MS applications tend to use Active Server Pages on the client. • ASPs tend to use ADO to communicate to the Database backend although .NET ODP is now becoming common. • Can be easily migrated to use the Oracle OLE/DB provider behind ADO • ODBC also possible via OLE/DB provider for ODBC • Could leave as is or migrate to JSP (Java Server Pages).
Application Migration Delphi Applications • Delphi 6 normally uses BDE • Borland Database Engine (BDE) maps quite well to Oracle although performance is not good when run against >8i. • Native access to Oracle should be used (e.g. CoreLab’s ODAC (http://www.crlab.com) (Oracle Data Access) – same as BDE but closer to Oracle (directly in OCI)S
Application Migration Delphi Applications • Use the BDE with native Oracle Driver, ODAC (preferably) or ADO. • Use local Schema Cache • Define Rowsetsize to use Arrayinterface • Object Names should be in capital Letters • Use Varchar2 Datatype in the Database • Not portable SQL needs to be changed • Outer Joins • Select List Subqueries … • Null Value Handling needs be checked
Q & Q U E S T I O N S A N S W E R S A