"FOR UPDATE"를 사용하여 SELECT를 수행하는 응용 프로그램 열기가 열려 있습니다.C# ExecuteReader를 실행하는 대신 예외를 throw하는 방법
제 애플리케이션에서 애플리케이션이 중단 (전까지 그것이 시간 초과)을 동일한 행에 액세스를 시도하는 경우 : 예외가 발생
:
// Simplified code var connection = new MySqlConnection(connectionString); connection.Open(); var transaction = connection.BeginTransaction(); MySqlCommand command = new MySqlCommand(sqlQuery, connection, transaction); MySqlDataReader dataReader = command.ExecuteReader(); // HANGS
이 SQLEXCEPTION하에 말한다 documentation 따르면 잠긴 행에 대해 명령을 실행하는 동안
이것은 내가 원하는 것입니다. 예외를 얻으려고합니다. 즉시. 명령 시간 초과를 변경하려고 시도했지만 TimeoutException과 정확한 이유를 설명하는 내용이 없습니다.
당신은'SqlCommand.ExcecuteReader()'와 관련된 MSDN 문서를 참조하고 있습니다. 귀하의 코드에서 당신이 사용하고있는'MySqlCommand.ExcecuteReader()'는 .NET Framework의 일부가 아닌 것으로 알고 있습니다. MySqlCommand 클래스의 개발자의 특정 문서는 무엇을 말합니까? – InBetween