When I extract my 19-digit numbers from my Oracle database to SAS under UNIX, the numbers are being rounded to 16 digits of precision.
Such as 1741235609961584 in Oracle database will be changed to 1741235609961580 in SAS dataset, 1741235609961586 in Oracle database will be changed to 1741235609961590 in SAS dataset.
How can I get more precision?
If you SAS variables are length 8, you've got what you are going to get from SAS. Check the SAS companion for Unix for the max precision you can manage with an integer in SAS. Otherwise, you could convert to a text field in Oracle for the transfer, but that's pretty ugly.