2011-05-03 3 views
0

SQL 2008 서버에 연결하는 VB.net CF 응용 프로그램이 있습니다. 트랜잭션을 구현하려고하는데 트랜잭션 시작시 코드를 해독 할 때 특정 읽기 쿼리를 테이블에서 수행 할 수 없습니다. 예를 들어 ID가 <> 123 인 테이블에서 모든 레코드를 선택하면 값이 반환되지 않습니다. 그러나 select *에서 주식은 내가 작업중인 행을 제외한 모든 값을 반환합니다.격리 수준이 SQL 2008 DB에 연결하는 vb.net에서 작동하지 않습니다.

Dim SQLComm As Data.SqlClient.SqlCommand 
Dim myConnString As String = frmConnectionDetails.GetConnectionString 
Dim SQLConn As New SqlConnection(myConnString) 
Dim SQLTrans As SqlTransaction 
SQLConn.Open() 
SQLTrans = SQLConn.BeginTransaction(Data.IsolationLevel.ReadCommitted) 
SQLComm = New SqlCommand 
SQLComm.Connection = SQLConn 
SQLComm.Transaction = SQLTrans 
AddOrUpdateStock(objStock, SQLConn, SQLComm) 
-Break here 

답변

0

트랜잭션을 시작하면 레코드가 잠기고 커밋 또는 롤백 할 때까지 액세스 할 수 없습니다. 이 example을 MSDN에서 살펴보십시오.

또한 Data.IsolationLevel은 연결 수준에서 적용됩니다. 더티 읽기를 원할 경우 ReadUncommitted