DAAB의 버그(??)
DAAB(Data Access Application Block)를 이용해 application을 만든게 있는데, 몇가지 문제점이 발견되었다.
1. connectionString을 넘기면서 호출하는 method를 사용할 경우, 거의 대부분 문제 없이 수행되다가 아래와 같은 에러가 간혹 발생하는 경우
System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. at System.Data.SqlClient.ConnectionPool.GetConnection (Boolean& isInTransaction)
at System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection (SqlConnectionString options, Boolean& isInTransaction) at System.Data.SqlClient.SqlConnection.Open() at System.Web.SessionState.SqlStateConnection..ctor(String
sqlconnectionstring)
1번의 경우 아직 정확한 해결책을 찾지 못했지만 오늘 가장 근접한 내용을 찾았다
링크는 http://geekswithblogs.net/gavin/archive/2004/09/21/11482.aspx
2. 아래와 같은 메소드들을 호출하면 connection 연결이 안되는 문제
SqlHelper.ExecuteNonQuery(_connstring, CommandType.StoredProcedure, _spName, _arParms)
SqlHelper.ExecuteReader(_connstring, CommandType.StoredProcedure, _SPName, _arParms)
SqlHelper.ExecuteDataset(_connstring, CommandType.StoredProcedure, _spName, _arParms)
2번의 경우 connetionString이 아닌 connection object를 생성해서 연결한 후 넘기면 문제가 해결 되었다.
DAAB를 실전에 사용하시는 분들은 꼭 주의하시길...