Problem Note 36237: Data might be truncated when Oracle columns of type VARCHAR2 are defined as more than 1000 characters and the database uses an MBCS encoding
In SAS/ACCESS® Interface to Oracle, the data length that appears in the SAS® System might be truncated when the following conditions exist:
- Oracle columns of type VARCHAR2 are defined with a value of more than 1000 characters.
- The database uses a multi-byte character set (MBCS) encoding.
- The DBSERVER_MAX_BYTES= option is set to the byte length, per character, of the database encoding.
Oracle normally returns the byte length as the product of the character length times the bytes per character length. However, if the value of this product is greater than 4000, the software truncates that value to 4000. However, SAS has to derive the character length. It derives the length by dividing the byte length by the value that is specified in the DBSERVER_MAX_BYTES= option. Character lengths that are truncated to 4000 are affected in that they are smaller than they are expected to be.
Currently, there is no solution or workaround for this problem.
In SAS 9.2 this problem is resolved because Oracle returns the character length instead of the byte length. Therefore, SAS does not need to derive the character length.
Operating System and Release Information
SAS System | SAS/ACCESS Interface to Oracle | Microsoft® Windows® for 64-Bit Itanium-based Systems | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Microsoft Windows Server 2003 Datacenter 64-bit Edition | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Microsoft Windows Server 2003 Enterprise 64-bit Edition | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Microsoft Windows XP 64-bit Edition | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Microsoft Windows 2000 Advanced Server | 9.1 TS1M3 SP4 | |
Microsoft Windows 2000 Datacenter Server | 9.1 TS1M3 SP4 | |
Microsoft Windows 2000 Server | 9.1 TS1M3 SP4 | |
Microsoft Windows 2000 Professional | 9.1 TS1M3 SP4 | |
Microsoft Windows NT Workstation | 9.1 TS1M3 SP4 | |
Microsoft Windows Server 2003 Datacenter Edition | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Microsoft Windows Server 2003 Enterprise Edition | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Microsoft Windows Server 2003 Standard Edition | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Microsoft Windows XP Professional | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Windows Vista | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
64-bit Enabled AIX | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
64-bit Enabled HP-UX | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
64-bit Enabled Solaris | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
HP-UX IPF | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Linux | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Linux on Itanium | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
OpenVMS Alpha | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Solaris for x64 | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Tru64 UNIX | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
In SAS/ACCESS® Interface to Oracle, the data length might be truncated when Oracle columns of type VARCHAR2 are defined as having more than 1000 charcters, the database uses an MBCS encoding, and DBSERVER_MAX_BYTES is set to the byte length per character of the database encoding,
Type: | Problem Note |
Priority: | high |
Topic: | Data Management ==> Data Sources ==> External Databases ==> Oracle
|
Date Modified: | 2009-10-19 09:35:39 |
Date Created: | 2009-06-15 22:37:12 |