Date: Tue, 1 May 2001 16:08:00 -0400
Reply-To: Sigurd Hermansen <HERMANS1@WESTAT.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Sigurd Hermansen <HERMANS1@WESTAT.COM>
Subject: FW: Bug: Oracle-Pass-Through V8.1 <==> Oracle 8.1.6 ?
Content-Type: text/plain
Earlier I cast doubts on displays and comparisons of SAS real numbers
containing
more than 15 digits. The newest inductee in the SAS-L Hall of Fame, Paul
Dorfman, assures me
> 16 digits [OK], guaranteed on any platform ...
So an error in the latest version of Oracle-Pass-Through must have caused
the
problem. Although I still see no reason to use 16 digit integers as ID's or
other identifiers ouside encryption and a few other specialized
applications, I
don't want to create a misimpression. Mea culpa. Sig
> -----Original Message-----
> From: Sigurd Hermansen
> Sent: Wednesday, April 25, 2001 4:47 PM
> To: SAS-L@LISTSERV.UGA.EDU; heiko.welter@T-MOBIL.DE
> Cc: Sigurd Hermansen
> Subject: Re: Bug: Oracle-Pass-Through V8.1 <==> Oracle 8.1.6 ?
>
>
> I was merely suggesting that conversions of Oracle long
> integers (16+ bytes)
> into SAS real numbers might lose precision in some instances,
> not that the
> conversions would always fail to work. To me it seems a risky
> process. My
> qualms about the consistency of the process, of course, do
> not rule out the
> possibility of a flaw in the orslx810 library. SAS technical support
> certainly needs to take at look the programs and test your
> example. Sig
>
> On Wed, 25 Apr 2001 08:46:16 +0200, Heiko Welter
> <heiko.welter@T-MOBIL.DE>
> wrote:
>
> >The point is, that everything works well in the same environment but
> >accessing the Oracle8.1 Server using
> >the SAS-Dynamic Library !SASROOT/sasexe/orslx730 (it worked
> also with the
> >combination SAS6.12 and Oracle 7.3.4!) ... The Problem occurs when
> >"upgrading" to lib "orslx810" .
> >So in the sense of downward compability it should work in
> every release >
> >6.12 - or am I wrong?
> >
> >cheers
> >Heiko
> >
> >"Sigurd Hermansen" <hermans1@WESTAT.COM> schrieb im Newsbeitrag
> >news:200104241335.f3ODZM6106100@listserv.cc.uga.edu...
> >> On Tue, 24 Apr 2001 10:48:44 +0200, Heiko Welter
> <heiko.welter@T-MOBIL.DE>
> >> wrote:
> >>
> >> >Hi!
> >> >
> >> >In our environment:
> >> >
> >> >SAS V8.1
> >> >ORACLE 8.1.6
> >> >Sun Solaris 2.7
> >> >
> >> >we observe that, using Oracle-Pass-Trough, number(16)
> values (Oracle)
> >> >fetched into the SAS-System loose there 16. Digit. Has
> anyone made the
> >same
> >> >experience?
> >> >
> >> >Example:
> >> >Value in Oracle 1000000000000009
> >> >==> Value in SAS after fetch 1000000000000000
> >> >
> >> >Doese someone know, something about this Problem in V8.2
> (fixed???) ?
> >> >
> >> >cheers for your help/suggestions
> >> >Heiko
> >>
> >> I would not assume that you are seeing an error as such. From the
> context
> >> it seems possible that a value of integer type in an
> Oracle database
> could
> >> lose precision when cast as a value of real number type in
> SAS. As a rule
> >I
> >> do not expect to see numeric precision of SAS real numbers
> past the 15th
> >> digit. The SAS-L archives include a number of discussions
> of numeric
> >> precision in SAS.
> >>
> >> SAS does not offer an integer data type. It does allow
> you to represent
> >> long strings of digits in character type. Oracle,
> originally developed
> >for
> >> Unix platforms, has traditionally used integers as
> identifiers. The
> >> implementation in Unix does not compromise precision. (In
> that sense,
> the
> >> integer type acts as a hybrid of real and character types.)
> >>
> >> You can pass through a query, in Oracle PL/SQL syntax,
> that casts the
> >> integers as characters, and you can then use the long
> digit strings as
> >> identifiers. Of course, using real numbers as identifiers
> is a risky
> >> business, as seen often on SAS-L. Sig
>
|