Statement executes but cannot be inserted to a temp table

100 Views Asked by At

I have an Oracle linked server A_STG to my SQL Server instance, I usually use openquery approach to get data from this linked server.

But in this case my openquery character limit exceeds 8000. Hence, I'm using the approach below.

Stated below is a simplified query, my actual query exceeds 8000 characters.

declare @query as varchar(max)
@query = 'Select po, po_item from table'

create table #A (po int, po_item int)

Insert into #A
    Execute (@query) AT [A_STG]

I get this error:

OLE DB provider "OraOLEDB.Oracle" for linked server "A_STG" returned message
ORA-24777: use of non-migratable database link not allowed

OLE DB provider "OraOLEDB.Oracle" for linked server "A_STG" returned message
ORA-24777: use of non-migratable database link not allowed

Msg 7215, Level 17, State 1, Line 154
Could not execute statement on remote server 'A_STG'.

But when I take out the insert statement and leave out only execute statement, it returns the output.

Please help!

0

There are 0 best solutions below