If you are using a LIBNAME to access your DBMS table and loading the data to CAS with code like this, you are performing a client-side load:
libname db sqlsrv <connect info>;
proc casutil;
load data=db.mytable casout="myCASTable" outcaslib="casuser";
run;
As you can see, in a client-side load the data is first processed by the SAS/ACCESS LIBNAME engine, and so your large VARCHAR column is truncated before you get a chance to load it.
If your CAS server has the associated data connector configured for your DBMS, you can do a server-side load instead. The code would look more like this:
caslib sqlDB desc='Microsoft SQL Server Caslib'
dataSource=(srctype='sqlserver'
username='user1'
password='myPwd'
sqlserver_dsn="configured-DSN-name"
catalog='*');
proc casutil;
load casdata="myTable" incaslib="sqlDB"
casout="myCASTable" outcaslib="casuser";
run;
This loads the table directly from SQL Server to CAS using the CAS data connector:
As you can see here, the LIBANME engine is not involved in this process, so the data is not converted to SAS numeric / fixed-width character before loading into CAS.
So, are you doing a client-side load or a server-side load from SQL Server?
... View more