나는 비슷한 질문이 how to check if you are in a transaction에있다. 확인하는 대신 중첩 된 트랜잭션을 허용하려면 어떻게해야합니까?ADO.NET 및 SQL Server에서 중첩 트랜잭션을 활성화하려면 어떻게합니까?
Microsoft SQL Server 데이터베이스에 ADO.NET을 사용하고 있습니다. T-SQL을 사용한 예제와 begin을 사용하여 트랜잭션을 시작하고 트랜잭션 이름을 사용하는 예제를 보았습니다. connection.BeginTransaction를 호출 할 때, 나는 동일한 연결에서 다른 함수를 호출, 그것은 나에게 예외주는 다시 들어 BeginTransaction을 호출
SqlConnection does not support parallel transactions.
많은 마이크로 소프트의 변형이 허용 나타납니다,하지만 난 방법을 알아낼 수 없습니다 내 .mdf 파일로 처리하십시오.
C# 및 ADO.NET을 사용하여 Microsoft SQL Server 데이터베이스와 중첩 트랜잭션을 어떻게 허용합니까?
제 호스트가 'Microsoft SQL 2008'을 제공한다고 말합니다. 이 T-SQL이 맞습니까? T-SQL은 어디에서 왔습니까? 나는 단지 외부 트랜잭션을 계산하기를 원합니다. 'Microsoft SQL 2008'에서 허용되지 않습니까? (예외를 발생시키지 않도록 구성해야 할 수도 있습니다.) –
T-SQL은 모든 버전의 SQL Server에서 실행되는 Microsoft의 SQL 표준 변형입니다. 이 예외를 피하려면 이전 트랜잭션을 커밋하거나 롤백하기 전에'BeginTransaction'을 호출하지 마십시오. 이전 트랜잭션이 여전히 보류중인 경우 트랜잭션이 될 수 없습니다. TransactionScope (http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope(VS.80).aspx)를 직접 사용해 보시길 권장합니다. –
흠, 그건 같은 것이 아닙니다. 이 코드는 sqlite와 함께 사용되었으며,이 코드가 지원되는지 확신 할 수 없습니다 (ADN.net을 모두 지원하는 것으로 보일 수 있습니다). 그러나 T-SQL이 모든 버전의 SQL Server에 있다면 나는 이상하게 들릴 것입니다. 그렇다면 이것을 허용해서는 안됩니다. 그 하나의 기능은 내 인생을 더 쉽게 만들 것입니다. 비록 그것을 사용하는 단 하나의 함수 (내가 단 하나의 연결이 완료 될 때까지 사용되는 init에서만 그것을 파괴 할 수 있다고 생각합니다.) –