2013-05-07 3 views
1

내가, SQL 서버 2008WM6.5 SQL Server 2008에 연결 : 연결을 열어 두어야합니까? 이것은 내가 사용하는 성명에서 모든 데이터베이스 호출을 래핑 할 데스크톱 응용 프로그램이었다 경우

보통의 인스턴스에 직접 연결하는 모바일 응용 프로그램이 있습니다

using (SqlConnection sqlConnection = new SqlConnection(ConnectionString)) 
{ } 

그리고 로컬 컴팩트 데이터베이스에 연결하는 모바일 응용 프로그램 인 경우 응용 프로그램의 수명 동안 연결을 열어 두었습니다 (매번 다시 작성해야하기 때문에).

하지만 이제는 실제 서버에 연결되는 모바일 응용 프로그램에 직면했습니다 ... 데스크톱 경로 또는 모바일 경로를 따르는 것이 가장 좋을까요? 처음에는 데스크탑 경로를 사용하려고했지만 이후 풀링은 모바일 버전에서 지원되지 않는다는 것을 기억 했으므로 열어 두는 것이 가장 좋은 방법일까요?

답변

2

휴대 기기는 무선 배터리로 작동합니다.

사용하지 않을 때 리소스를 종료하여 거의 전력을 사용하지 않도록 설계되었습니다. 그것은 당신의 무선 라디오를 위해 간다!

필요할 때 다시 켜지지만 열기 연결에서는이를 알 수 없습니다.

내 생각에 그 문제로 연결 문제가 발생할 것입니다. 소프트웨어는 한 번의 전화를 걸어 응답을 기다립니다.

무선 라디오가 연결되어 있지 않은 경우 오류가 표시 될 수도 있고 표시되지 않을 수도 있습니다.

오류 발생 여부와 관계없이 응용 프로그램과의 연결을 다시 설정하려면 어떻게해야합니까? 코드를 작성하지 않으면 앱을 다시 시작해야합니다.

이 작업을 수행하는 데 옳은 방법이나 잘못된 방법이 있다고 생각하지 않지만 필자는 필요할 때만 연결을 여는 것이 가장 좋은 방법 일 것이라고 생각합니다.

+0

나는 동의해야한다고 생각한다. 조금 느려지 겠지만 항상 전화를 걸기 전에 연결을 시도하면 장치가 범위를 벗어나거나 SQL 서버를 사용할 수 없게 된 상황을보다 쉽게 ​​처리 할 수 ​​있습니다. 누군가 다른 사람이 내가 고려하지 않은 것을 제공 할 수있을 때를 기다리는 동안 더 오래 기다릴 것이지만, 다른 대답이 없다면 나는 이것을 표시 할 것입니다. – Wrightboy

+0

jp2code가 맞으면 모바일 장치가 항상 연결되어 있다고 가정 할 수 없습니다. 연결을 해제해야하고 연결이 끊어진 경우 다시 연결해야합니다. 항상 연결되어있는 전체 액세스가 정말로 필요합니까? RDA (http://msdn.microsoft.com/en-us/library/aa257442%28vsql.80%29.aspx) 및 병합 복제를 사용하여 데이터베이스의 로컬 '뷰'를 유지할 수 있습니다. 따라서 데이터를 가져 와서 업데이트를 푸시 할 수 있습니다. Paul Yao는 "Compact Framework 프로그래밍"에서 RDA 및 병합 복제에 대한 좋은 장을 작성했습니다. – josef