ADO 연결을 통해 SQL Server에 연결하도록 스프레드 시트를 설정했습니다. 일단 뭔가가 Excel에 입력되면 SQL Server에 대한 연결이 열리고 Excel에있는 변수를 가져 와서 데이터베이스에 입력합니다. 이것은 내 코드입니다 :테이블 잠금 - 시간 초과 - Excel VBA를 통한 SQL 서버에 대한 ADO 연결
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의 테이블을 잠시 동안 업데이트하지 못하도록 잠그고 있다는 것입니다. 나는 데이터베이스의 관리자는 아니지만 한 번 살펴보고 테이블을 잠그고있는 사람을 찾을 수 없었습니다. 이 간헐적 인 문제를 만들려면 내 코드에 문제가 있습니까? 내가 무엇을 할 수 있을지?
이 문제에 해결책이 있습니까? –
당신은 NOLOCKS를 사용할 수 있습니다 .. 예 : SELECT * FROM Person.Contact WITH (NOLOCK) – Schwimms