2014-02-26 1 views
1

배경 : 나는 비즈니스 로직 클래스와 데이터 액세스 로직 클래스를 포함하는 클래스 라이브러리 프로젝트를 개발트랜잭션은 커밋하지 커밋 및 오류가 발생하지 않았다

.

데이터를 저장하기 위해 Microsoft SQL Server 2012 데이터베이스 (익스프레스)를 사용하고 있습니다.

비즈니스 로직 클래스에는 유효성 검증 및 필요한 사전 저장 논리를 수행하는 저장 메소드가 있습니다. 유효성 검사 및 사전 저장이 완료되면 저장 메서드는 데이터 액세스 계층 메서드를 사용하여 데이터베이스에 대한 새 연결로 트랜잭션을 만들고 DataAdapters를 사용하여 데이터베이스를 업데이트합니다.

저는 WPF 프로젝트에서이 클래스들을 사용하고 있으며, 모든 것이 100 % 작동합니다.

현재 ASP.NET MVC 3 프로젝트에서 동일한 응용 프로그램의 웹 버전을 만들고 있습니다. WPF 응용 프로그램에있는 것과 동일한 클래스 라이브러리를 ASP.NET 응용 프로그램에서 사용하고 있습니다.

모든 프로젝트에서 구현을 위해 VB.NET을 사용하고 있습니다.

문제 : 내 수업의

하나는 내 ASP.NET 응용 프로그램에서 변경 한 데이터로 데이터베이스를 업데이트하지 않습니다.

데이터 액세스 레이어를 통해 UI 레이어의 저장 로직을 단계적으로 수행하고 모든 것이 올바르게 설정되어 있고 트랜잭션 커밋이 예외를 throw하지 않거나 잘못되었음을 나타내지는 않습니다. 그러나 정보가 있습니다. 데이터베이스에 설정되지 않았습니다!

행을 데이터로 수정하고 DataAdapter Update 메서드를 호출하고 트랜잭션 커밋 메서드를 호출했는지 확인했습니다. 모든 것이 잘 보이고 오류가 발생하지 않습니다. 나는 ASP.NET 응용 프로그램에서 사용하는 다른 클래스를 시도하고 그들의 저장이 데이터베이스에 완벽하게 잘 적용되었음을 발견했습니다.이 클래스는 문제가있는 클래스와 동일한 데이터를 저장하기 위해 같은 디자인을 사용합니다. 또한 WPF 응용 프로그램에서 문제가되는 클래스에 save 메서드를 호출 해 보았습니다. 모든 것이 제대로 작동합니다 (커밋은 실제로 데이터를 데이터베이스에 커밋합니다).

저는 지금 완전히 손해보고 내 문제를 해결하는 방법을 모릅니다.

이 문제를 디버깅하는 방법에 대한 아이디어를 알려주세요.

나는 사람들에게 그것을 보도록 요청하는 것이 너무 많기 때문에 코드를 게시하지 않을 것입니다. 나는 이것을 디버깅하는 방법에 대한 제안과 다른 누군가가이 문제를 경험했는지 확인하기위한 제안을 찾고있다.

+2

데이터베이스에 대한 실제 호출을 캡처하기 위해 데이터베이스에 대해 SQL 프로필러를 사용 해본 적이 있습니까? 또한 데이터베이스에서 저장 프로 시저를 호출하고 이러한 저장 프로 시저에 Set XACT_ABORT가 설정되어 있습니까? –

+0

SQL Express를 사용하고 있으므로이 옵션이 없습니다. sp_who 저장 프로 시저를 사용해 보았지만 그다지 도움이되지 못했습니다. – Frinavale

+0

내 정보를 저장하기 위해 저장 프로 시저를 호출하고 있습니다. – Frinavale

답변

0

가장 좋은 방법은 SQL Server 프로파일 러 인스턴스를 실행하여 DB 수준에서 어떤 일이 발생하는지 확인하는 것입니다.

2012 Express Edition의 SQL Server를 사용하는 경우 this link을 참조하십시오. 그래야 SQL Server 프로파일 러를 얻을 수 있습니다.

관련 문제