Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 两个不同的选择正在相互锁定_Sql Server_Odbc - Fatal编程技术网

Sql server 两个不同的选择正在相互锁定

Sql server 两个不同的选择正在相互锁定,sql-server,odbc,Sql Server,Odbc,我们通常使用SQL Server,但最近开始使用ODBC进行测试 我们的应用程序运行正常,但会自动锁定 我已经通过ActivityMonitor跟踪了这些查询,似乎发生了一个select语句正在表上运行。之后,其他select语句将使用值lck_m_s锁定 如果我终止第一个查询,其他查询就会工作,一切都会继续 它在我们使用DB Lib时有效,但在我们使用ODBC SQL本机客户端ODBC时无效 当我们使用ODBC时,我能做些什么来防止这些语句相互锁定 我曾尝试在查询中使用NOLOCK,这解决了这

我们通常使用SQL Server,但最近开始使用ODBC进行测试

我们的应用程序运行正常,但会自动锁定

我已经通过ActivityMonitor跟踪了这些查询,似乎发生了一个select语句正在表上运行。之后,其他select语句将使用值lck_m_s锁定

如果我终止第一个查询,其他查询就会工作,一切都会继续

它在我们使用DB Lib时有效,但在我们使用ODBC SQL本机客户端ODBC时无效

当我们使用ODBC时,我能做些什么来防止这些语句相互锁定


我曾尝试在查询中使用NOLOCK,这解决了这个问题,但导致了其他问题。我的一位同事被告知有一个选项可以更改连接设置,这可能会解决这个问题。

尝试在FROM子句中使用with no lock lock(无锁锁定)提示:

From tablename with(NOLOCK)

这可能会解决症状,但我非常渴望了解是什么导致了问题,因此确保类似的事情不会再次发生。有什么想法吗?如果不使用nolock提示,请选择“导致行级锁定”。我假设两个查询访问相同的行,因此在其中一个查询执行时锁定。啊,对了-那么ODBC会这样做而SQL Server不会?很抱歉问了一些基本的问题,我不是一个数据库管理员!当你说SQL Server时,你是指查询控制台吗?ODBC只是打开与SQL Server的连接并执行SQL。我认为它们只是用于访问数据库的驱动程序的选项?这有意义吗?正如在中一样,我们现在正在测试ODBC驱动程序,并且发现了这个问题。