Спасибо за ответы.
Glory |
5. Непонятно, что вы вообще делаете |
В программе (не 1С), работающей с БД на Oracle, нужно по запросу пользователя получить документ из 1С. Для этого в Oracle создан DB Link на MSSQL через шлюз ODBC. Программа генерирует два запроса.
SELECT j.DOCNO,
SUBSTR(j.DATE_TIME_IDDOC,7,2)||'.'||SUBSTR(j.DATE_TIME_IDDOC,5,2)
||'.'||SUBSTR(j.DATE_TIME_IDDOC,1,4) DATE_SCH,
j.IDDOC, k.DESCR KontrAg
FROM "_1SJOURN"@MS1CSYS j, DH2457@MS1CSYS z, SC172@MS1CSYS k
WHERE IDDOCDEF=2457 AND SKL_STRNUM_COMP(DOCNO,:NumStr)<>0
AND z.IDDOC=j.IDDOC AND k.ID=z.SP2434
ORDER BY DATE_TIME_IDDOC DESC
SELECT dt.LINENO_, ns.SP85 Articul, ns.DESCR, dt.SP2447 Kolvo, e.EZ_NAME,
n.NAME, n.ID
FROM DT2457@MS1CSYS dt, SC84@MS1CSYS ns, PL_NOMENK n, PL_EDIZM e
WHERE ns.ID=dt.SP2446 AND n.ARTICUL(+)=ns.SP85 AND e.ID(+)=n.EDIZM_ID
AND dt.IDDOC=' 3J3L '
ORDER BY dt.LINENO_
Но эти запросы выполняются Oracle, который их преобразует в запросы к MSSQL.
Поэтому использовать хинт NOLOCK не получится.