Hello All,
I am facing problem while loading data into Oracle database using SCD Type 2 in SAS DI.
But I got error
"Variable ***** has different lengths on BASE and DATA files ( Base 512 DATA 128)
I searched on past error but I cant solve this error also I tried Force option and used some options.
But dint get any solution.
If anyone has solution for this then please Help me out.
Thank you,
Specify the correct length of 512 for this variable in your newly created dataset (which is appended to the existing table, as this is a WARNING from PROC APPEND).
That the length difference between the variable in the base and the data table is exactly of factor 4 makes me think that you might have a problem with "byte semantics".
Below 4 libname options - defined as part of the libname metadata definition - are what was required in an actual project to make it work. What's right for you depends on your environment but below should give you a good start.
DBCLIENT_MAX_BYTES=1 ADJUST_BYTE_SEMANTIC_COLUMN_LENGTHS=NO ADJUST_NCHAR_COLUMN_LENGTHS=NO DBSERVER_MAX_BYTES=1
Another option worth considering:
UTILCONN_TRANSIENT=YES
And if you're using bulk loading then it's also worth to explicitly define some of the bulk load options, especially BL_DEFAULT_DIR
BL_DEFAULT_DIR='/data/saswork/BulkloadTemp/'
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.
Find more tutorials on the SAS Users YouTube channel.