Welcome to web Pages of Vicky Shiv

Resume Experience Projects Courses Thesis Download

 

ISSUES

(documented by Vicky Shiv, J.|Powell, July 20, 1999)

(reviewed by T. Bingham, P. Renouf, July 21, 1999)

 
Oracle / Sybase / MDAC / ODBC / RDS Issues:
- The current compatibility & Y2K problems have now been compounded by a security issue.
- Old version of MDAC (v1.5) is only version that works with Sybase ODBC drivers.
- Old version of MDAC (v1.5) is not Y2K compliant. This problem is corrected in MDAC v2.1. (See Appendix "A" for details.)
- Old version of MDAC (v1.5) has a security issue with the IIS Internet server (Using RDS COM objects in code can allow an unauthorized external back-door to Internet server). This problem is corrected in MDAC v2.1. (See Appendix "B" for details.)
- Old version of MDAC (v1.5) does not support all of the Development Tools used by Web Developers. (Visual InterDev’s DB connection tools.)
 
OPTIONS:
(1) Continue using Sybase as Web backend DB and MDAC 1.5. (Current Status)
PRO:
- Requires no new hardware or expertise.
- Requires no reprogramming.
CON:
- MDAC 1.5 is NOT Y2K compliant. (See Appendix "A" for details.)
- MDAC 1.5 when used with RDS provides a security hole. (Would require the removal of RDS code from some Apps to fix completely. See Appendix "B".)
- Non-isolated Web Database environment. (Web applications still shares hardware with Frequent Shopper.)
- Stifled development. (RDS is used to improve performance of DB calls.)
 
(2) Continue using Sybase as Web backend DB and upgrade to MDAC 2.1.
PRO:
- Fixes Y2K issue.
- Fixes security problem.
- No rewriting or reconfiguring necessary.
- Sybase knowledge more prevalent than Oracle in Web Developers and on-site in Stellarton.
CON:
- Sybase ODBC drivers* will consistantly perform "unpredictably" and cause crashes of Web applications. (Certain data-types will not work in Sybase tables in conjunction with others.)
- Non-isolated Web Database environment. (Web applications still shares hardware with Frequent Shopper.)
* Sybase has been working on new drivers for several months, are aware of our problem and have been unable to provide an effective solution to date.
 
 
(3) Convert all current Web apps to Oracle backend DB and upgrade to MDAC 2.1.
PRO:
- Fixes Y2K issue.
- Fixes security problem.
- Improves general operability of IIS. (Oracle works much better then Sybase with IIS.)
- Provides isolated environment for Web Databases (Oracle boxes).
- Improves operability of development tools (Visual InterDev provides tighter integration with Oracle DBs).
CON:
- Requires rewrite of all existing Sybase to Oracle.
- Requires new hardware and configuration. (Production and Development Oracle DB servers)
- Oracle learning curve among web developers.
- Lack of on-site Oracle knowledge in Stellarton.
 
Recommendations:
Option (1):
Option (1) obviously provides no solutions to the pressing problems, but if the Y2K ramifications are minimal, or can isolated, then the status quo could possibly be maintained in the short-term. RDS can be removed and code using it re-written or temporarily shut down. This affects primarily the "Atheneum" (document library) application, but also the"IP address look-up" application and to a small extent the "LAN Administrator" app.
 
 
Conclusion: The time spent chasing the Y2K and RDS issues in the large amounts of existing code would be time-consuming and difficult, especially with larger applications and applications written by developers no longer with the company.
 
 
Option (2):
Option (2) presents the greatest danger as the unpredictability of crashes and data loss is high. It does address the security and Y2K issues, but at the cost of reliability.
 
 
Conclusion: Instability and potential for data-loss render this option the least attractive.
 
 
Option (3): – Recommendation –
Option (3) would appear to present the most suitable solution long-term. Oracle’s over-all product line (and Oracle 8i, specifically) appears to be designed with Internet applications in mind, whereas Sybase is having difficulty developing ODBC drivers that function with Microsoft’s Internet Server software (which represents 28% of the overall Internet server market). Given Oracle’s near seamless integration with our current Web server (and development tools), it appears to be the most appropriate choice.
Further, converting our pre-existing Sybase tables to Oracle tables appears to be a relatively easy process (with the exception being the HR applications, which is more complex).
 
Conclusion: Given the deadline of January 1, 2000 (MDAC 1.5 is non-Y2K), the sooner we can obtain and configure the Oracle hardware and software the sooner we can begin to port the tables and update the Web-based code. This will require resources and expertise from Shared Services in addition to Web developers from Applications.
As for RDS, it can be removed and the apps that use it can either be temporarily shut down, or re-written to bypass RDS. The largest application currently using RDS is the Atheneum (document library) application on the Intranet, but it is also used very frequently in the IP application and the Network Manager application. A final option would be to ignore the RDS problem assuming the Oracle / MDAC issue can be implemented within a month or so. Given that we have survived to date without a security breach, this may be the most appealing option, thus making all our resources available to convert to the Oracle DB.
 
 
Appendix "A" — MDAC 1.5 Y2K Compliance Issue:
(Compiled by P. Renouf, July 20, 1999)
 
We are running MDAC version 1.5, the current version of MDAC is 2.1.2.4202.3 (GA).
 
The Known Year 2000 problems with MDAC 1.5 are:
(OLE DB compliance):
 
The known Year 2000 issues for OLE DB data coercion library are:
If you code to ADO,
- AND your ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
- AND you are using a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
- AND you specify a two-digit year less than 60,
- AND you do not specify a time as part of the date/time information
THEN Data Convert (msdadc.dll) may translate your date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01am).
 
 
If you code directly to OLE DB, the same case exists:
If you are converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:
DBTYPE_DATE
DBTYPE_DBDATE
DBTYPE_DBTIME
DBTYPE_FILETIME
DBTYPE_DBTIMESTAMP
- AND you are using a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
- AND you specify a two-digit year less than 60,
- AND you do not specify a time as part of the date/time information
THEN Data Convert (msdadc.dll) may translate your date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01am).
- There are no known Year 2000 problems with MDAC 2.1.2.4202.3.
 
Appendix "B" — MDAC 1.5 RDS Security Issue:
(Documented by P. Renouf, July 20, 1999)
The recent RDS security hole is a rather large one. The implication is that through RDS (with MDAC 1.5 either running now, or installed previously and upgraded) an external user can access the Web Server as System. System is an access level even beyond Administrator, it has total unequivocal control over the server.
To make matters worse, through this hole the attacker can access any database devices the RDS has access to. The details of this attack have not yet been made public, but this is by far one of the worst security holes to date.
There are a two ways around this:
1. Uninstall MDAC 1.5 and install 2.1.2 (which does not have this problem) then add entries to the registry to allow better handling of RDS requests.
2. Delete a directory on the Web Server which will remove the hole, but also disable RDS.
 
To be susceptible to this hole you need to have IIS and MDAC 1.5 installed, and be using RDS. We fit all three.
This may also effect any other servers we have that have had IIS installed on them perviously. With those machines it will not be an issue because we can simply disable RDS to plug the hole.
 

 

1