Код:
insert dbo.goods
(sh, name, count, modify, price, idCurrency, article, idSession)
Select * from
openrowset('MSDAORA','PRD';'login';'pass'
,
'Select LPAD (b.ean11, t.lnean, ''0'') as "barcode", n.MAKTX as "name",1 as "count",
0 as "modify",0 as "price", 0 as "Currency",b.MATNR as "article",0 as "ses"
from SAPRDP.MEAN b join SAPRDP.MARA m
on b.Matnr=m.matnr and b.mandt=m.mandt
join SAPRDP.MAKT n
on b.Matnr=n.matnr and b.mandt=n.mandt
join SAPRDP.TNTP t on b.eantp=t.numtp and t.mandt=''405''
where m.mandt=''405'' and
b.MEINH=''ST'' and m.LVORM<>''X'' and m.MTART=''HAWA'' and m.ATTYP in (''00'',''02'')
and n.SPRAS=''R''
and m.matnr>=''M''
')
Пример для R/3, но ничего не мешает переделать запрос в openrowset в супермажный.
Необходимые условия:
1. На сервере MSSQL должен быть установлен клиент oracle
2. На сервере MSSQL должны быть прописаны базы в tnsnames.ora
3. На сервере MSSQL должно быть создано ODBC соединение на оракловый сервер (и оно должно работать)