是否可以通过来自Oracle的异构链接使用WITH(NOLOCK)



>我有一个从Oracle Server到SQL Server的异构数据库链接。我在 SQL Server 中的一些经常更新的表上发出 SELECT 语句,我的 SELECT 语句导致 SQL Server 保存上述行上的所有 UPDATES。我知道这是 MSSQL 中的已知行为(读取访问阻止写入访问(,但我可以以某种方式获取脏读取吗?我搜索了整个文档,没有看到Oracle SQL语法的WITH(NOLOCK(READ UNCOMMITED行为的迹象。

我的设置,以防万一:

# 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 读取脏行而不会导致写锁定?

尝试创建具有读取未提交隔离级别的 SQL 存储过程,并从 oracle 执行它。

设置事务隔离级别读取未提交

HS_FDS_PROC_IS_FUNC

最新更新