LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (May 2001, week 1)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
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 >


Back to: Top of message | Previous page | Main SAS-L page