In case the chopped up view is obtainable for you,
I went over our code to remind myself of some details.
SQL Server side:
table (col varchar(max))
view vs is
select convert(varchar(1000), substring(l.col, 1, 1000)) as col_1,
convert(varchar(1000), substring(l.col, 1001, 1000)) as col_2,
convert(varchar(1000), substring(l.col, 2001, 1000)) as col_3,
convert(varchar(1000), substring(l.col, 3001, 1000)) as col_4,
etc
from table
Oracle side:
view vo is
select col_1,
col_2,
col_3,
col_4,
etc
from vs@alien_db
The reason for making the ss view columns varchar(1000) is two fold.
1, difference in bytes per character between the two DBs
2, MS odbc for linux 11 doesn't seem to support varchar2(4000) on the oracle side.
So the data coming from the MS side needs to be 1/4 the width you would expect. For all I know it will be 1/8th for an nvarchar.
Your mileage may vary.