Можно ли использовать WITH (NOLOCK) по гетерогенной ссылке из Oracle? - PullRequest
0 голосов
/ 02 октября 2019

У меня есть разнородная ссылка на базу данных с Oracle Server на SQL Server. Я выполняю операторы SELECT для некоторых часто обновляемых таблиц в SQL Server, и мои операторы SELECT заставляют SQL Server хранить все ОБНОВЛЕНИЯ в упомянутых строках . Я знаю, что это известное поведение в MSSQL (доступ для чтения блокирует доступ для записи), но можно ли как-нибудь получить грязное чтение? Я искал во всех документах и ​​не вижу признаков поведения WITH (NOLOCK) или READ UNCOMMITED для Oracle SQL Syntax.

Мои настройки, на всякий случай:

# Linux

HS_FDS_CONNECT_INFO = MSSQL
HS_FDS_TRACE_LEVEL = OFF
HS_FDS_SHAREABLE_NAME = /usr/lib64/libodbc.so
HS_FDS_SUPPORT_STATISTICS=FALSE

# Depending on where you defined your ODBC settings.
set ODBCINI=/etc/odbc.ini

# Following parameters are SQL Server environment dependant.
HS_LANGUAGE=RUSSIAN_RUSSIA.CL8MSWIN1251
HS_NLS_NCHAR=UCS2
HS_NLS_LENGTH_SEMANTICS=CHAR
HS_FDS_SQLLEN_INTERPRETATION=8
HS_FDS_FETCH_ROWS=1
HS_TRANSACTION_MODEL=READ_ONLY

Есть ли способ эмулировать поведение WITH (NOLOCK) , чтобы я мог читать грязные строки из SQL Server и не вызывать блокировки записи?

1 Ответ

0 голосов
/ 04 октября 2019

Попробуйте создать хранимую процедуру sql с непрочитанным уровнем изоляции для чтения и выполните ее из оракула. ​​

УСТАНОВИТЕ УРОВЕНЬ ИЗОЛЯЦИИ СДЕЛКИ ЧИТАТЬ НЕОГРАНИЧЕНО

HS_FDS_PROC_IS_FUNC

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...