簡體   English   中英

表鎖定-超時-通過Excel VBA到SQL Server的ADO連接

[英]Table Lock - Timeout - ADO connection to SQL server via Excel VBA

我設置了一個電子表格以通過ADO連接連接到SQL Server。 一旦在Excel中鍵入了某些內容,便可以正常工作,然后打開與SQL Server的連接,然后從excel文檔中獲取變量以輸入到數據庫。 這是我的代碼:

SQLConnect = "Provider=sqloledb;Integrated Security=SSPI;" & _
"Data Source=NCCHAR9\PDS_SSQL; Database=MWPMO; " & _
"Persist Security Info=False;"
Conn1.ConnectionString = SQLConnect
Conn1.CursorLocation = adUseClient
Conn1.Mode = adModeReadWrite
Conn1.Open
Cmd1.ActiveConnection = Conn1
Cmd1.CommandText = "UPDATE Input_Tracker SET " & varCol & " = NULL WHERE [ID] = " & varKey & ""
Cmd1.Execute
Cmd1.CommandText = "INSERT INTO Input_Changes(ID, TableName, ColumnName, OldData, NewData, UserID, DateTime) " _
                 & "VALUES('" & varKey & "','" & tblnm & "','" & varCol & "','" & Oval1 & "','" & varData & "','" & username & "','" & Now() & "')"
Cmd1.ExecuteConn1.Close
Set Conn1 = Nothing

我的問題是,這段代碼以某種方式鎖定了SQL Server中的表,使其不時被更新。 我不是數據庫管理員,但確實讓他們看了一下,但他們找不到鎖定表的任何人。 創建此間歇性問題的代碼有什么問題嗎? 我能做什么?

好的,所以我做了更多的挖掘工作,並且由於Excel中“獲取外部數據源”數據連接中內置的select語句,顯然表已被鎖定。 現在,我想我需要弄清楚如何阻止通過Excel鎖定表,除非有一種方法可以強制SQL Server不允許鎖定,那可能嗎?

我認為可以通過VBA編寫到SQL Server的鏈接來解決此問題。 正在搜尋...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM