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=20
parameter binding. One big one you'll hit with Oracle is trying to inser=
t a=20
string > 2000 characters with ODBC into a LONG column.
another i.e.=20
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 an=
d=20
just return nothing or cause an infinite loop. MSSQL not only won't but "=
let=20
you mix parameter styles" if you bind some of them and not others.
Joing tables you'll also find is different. (+)=3D vs *=3D 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 any=
thing=20
other then ORACLE.
There is a way to get around all these and thats to wrap all your databas=
e=20
calls in wrappers in addition to the ODBC connect/dissconect calls.
You will have to make multiple passes. =20
I've been successful with this so that I can reliably run MySQL-4.1 (sub=20
selects), MSSQL, Oracle 8.1.7 and probably 9i.
Of course you'll never really get the sequences right unless you just use=
an=20
Ids table, but that throws away some maybe functionality on MySQL and Ora=
cle=20
so you need another wrapper for. DBIx::OracleSequencer from CPAN is a go=
od=20
module... don't get me wrong, but its much easier to just write out selec=
t=20
$seq\.nextval from dual ... Then you don't have to worry about commenting=
it=20
out on systems that don't have it or eval(). Just an "if" around the my =
$sql=20
=3D "whatever".
On Tuesday 25 February 2003 19:09, Bill Moran wrote:
> The whole "ODBC compatiblity" thing is (unfortunately) a lie. Nobody h=
as
> stood up and constrained the standard enought to make it truely compati=
ble
> across all databases.
--=20
END=20
-------------------------------------------------------------------------=
-----=20
Philip M. Gollucci philip@p6m7g8.com 301.474.9294 301.646.3011 (cell)=20
Science, Discovery, & the Universe (UMCP)=20
Webmaster & Webship Teacher=20
URL: http://www.sdu.umd.edu=20
eJournalPress=20
Database/PERL Programmer & System Admin=20
URL : http://www.ejournalpress.com=20
Resume : http://p6m7g8.net/Resume=20
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>
