2013-01-15 3 views
1

문제점 : 원격 서버에 SQL 쿼리를 보내는 5 개의 vba Excel 클라이언트가 있습니다. 그들은 모순일까요? 전처럼. 테이블 food가 포함SQL Server, 다른 클라이언트의 쿼리

itemId Name 
-------------- 
3  burger 
4  pizza 

을 지금은 4-5 다른 클라이언트를 통해 항목 ID의 값을 증가하는 경우, 충돌이있을 것인가? 당신이 그런 식으로 할 경우

+1

, 당신이 가장 적합한을 잠금하는 형태로 지정할 수 있습니다 충돌하지 않으며, 어느 의지 (recordset.locktype). 나는 당신이 동시성이 간다면 괜찮을 것이라고 생각합니다. – Scotch

+1

테이블에 이미있는 ID를 증가 시키거나 새 레코드를 삽입하는 것에 대해 이야기하고 있습니까 (따라서 새 ID를 가져 오는 중)? 두 번째 경우 대부분의 RDBMS와 마찬가지로 SQL Server에도 IDENTITY 열이 있습니다. 이것은 완전히 threadsafe, 동시 환경을위한, 가치 열을 자동 생성합니다. 하지만 그렇지 않으면 ... 그렇습니다. 데이터베이스는 공유 리소스이므로 응용 프로그램 언어 에서처럼 일반 데이터 객체 인 것처럼 생각하고 작업해야합니다. –

답변

0
insert table food 
select 1 + max(itemId), 'spaghetti' from food 

, 아니 5 클라이언트는 5000 당신이 VBA에서 레코드를 여는 경우