Date: Tue, 25 Feb 2003 16:15:34 +0000 From: "Philip M. Gollucci" <philip@p6m7g8.com> To: Bill Moran <wmoran@potentialtech.com>, Trent Nelson <trent@limekiln.vcisp.net> Cc: Mike Meyer <mwm@mired.org>, synrat <synrat@wirewalk.org>, questions@freebsd.org Subject: Re: Oracle on FreeBSD Message-ID: <200302251615.34473.philip@p6m7g8.com> In-Reply-To: <3E5BBF62.2070607@potentialtech.com> References: <1046128729.490.8.camel@dethstar> <20030225184430.GA73776@limekiln.vcisp.net> <3E5BBF62.2070607@potentialtech.com>
next in thread | previous in thread | raw e-mail | index | archive | help
The most notable of these would be date/time and null handling. Also
parameter binding. One big one you'll hit with Oracle is trying to insert a
string > 2000 characters with ODBC into a LONG column.
another i.e.
ORACLE to_date('2003/01/03' '12:05:03 A.M.')
MSSQL 2003/01/03' '12:05:03
MySQL 2003-01-03 00:05:03
Oracle will also run queries with unbound parameters if you forget one and
just return nothing or cause an infinite loop. MSSQL not only won't but "let
you mix parameter styles" if you bind some of them and not others.
Joing tables you'll also find is different. (+)= vs *= in ORACLE vs MSSQL
Concat tables -- || in Oracle, I forget MSSQL of the top of my head.
Finally, you can't have conncurrent database handle access in I think anything
other then ORACLE.
There is a way to get around all these and thats to wrap all your database
calls in wrappers in addition to the ODBC connect/dissconect calls.
You will have to make multiple passes.
I've been successful with this so that I can reliably run MySQL-4.1 (sub
selects), MSSQL, Oracle 8.1.7 and probably 9i.
Of course you'll never really get the sequences right unless you just use an
Ids table, but that throws away some maybe functionality on MySQL and Oracle
so you need another wrapper for. DBIx::OracleSequencer from CPAN is a good
module... don't get me wrong, but its much easier to just write out select
$seq\.nextval from dual ... Then you don't have to worry about commenting it
out on systems that don't have it or eval(). Just an "if" around the my $sql
= "whatever".
On Tuesday 25 February 2003 19:09, Bill Moran wrote:
> The whole "ODBC compatiblity" thing is (unfortunately) a lie. Nobody has
> stood up and constrained the standard enought to make it truely compatible
> across all databases.
--
END
------------------------------------------------------------------------------
Philip M. Gollucci philip@p6m7g8.com 301.474.9294 301.646.3011 (cell)
Science, Discovery, & the Universe (UMCP)
Webmaster & Webship Teacher
URL: http://www.sdu.umd.edu
eJournalPress
Database/PERL Programmer & System Admin
URL : http://www.ejournalpress.com
Resume : http://p6m7g8.net/Resume
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200302251615.34473.philip>
