2013-10-03 2 views
2

API에서 데이터를 가져 오는 Weatherstation을 프로그래밍하고 있습니다. 잘 작동하지만 그래프로 그릴 수있는 데이터베이스에 저장하고 싶습니다. 하지만 내 코드가 작동하지 않는 것 같습니다. 디버깅을 시도하고 데이터베이스를 열고 자하는 라인에서 실패합니다. 그것은 내가 DB를 만드는 라인을 통해 실행됩니다. 콘솔에서DB 연결이 실패합니다 (System.Data.Sqlclient.SqlException)

databaseCon = new SqlConnection(@"Data Source= 
(LocalDB)\v10.0;AttachDbFilename=C:\Users\Jeroen 
Laptop\Desktop\Eindopdrachten\WeatherStation\Eindopdracht\ 
Weather.mdf;Integrated Security=True;"); 
databaseCon.Open(); 

오류 메시지 :

'System.Data.SqlClient.SqlException'형식의 첫째 예외가 System.Data에서 발생

이들은 실패 라인입니다.

내가 원하는 : 어떻게됩니까 DLL

API에서 데이터를 가져와 온도, 위치 및 날짜가있는 그래프를 만들기 위해 DB에 저장하십시오. 이를 위해 데이터베이스를 만들었고 연결하려고합니다. 이것은 오류가 발생한 곳입니다. 위에서 오류가 발생합니다. 데이터베이스를 채우지 않고 해당 메시지를 몇 번 (100 정도) 표시하고 실행을 계속 디버그합니다.

여기 누군가가 나에게 더 많은 정보를 줄 수 있거나 내가 잘못한 것을 볼 수 있기를 바랍니다.

업데이트 :

내가 가지고 2012 2008 내 프로그램에서 지원하지 않는

An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll

Additional information: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)

내가 SQL 서버와 비주얼 스튜디오 2010을 사용하여 데이터베이스를 액세서하려고 다음과 같은 메시지 휴대용 퍼스널 컴퓨터.

+1

오류 메시지에 대한 정보를 제공 할 수 있습니다. – Steve

+0

"실패"를 정의하십시오. 의도 한대로 작동하지 않는다는 표시가 있습니까? 오류 메시지가 있습니까? – David

+1

'데이터 소스 = (localdb) \ v11.0; .....'('v10.0' 대신'v11.0')이되어야합니다. –

답변

0

아마도 내 생각에 일종의 사용 권한 오류 일 것입니다.

데스크톱에 DB를 만들고 SQL Server에 해당 폴더에 대한 권한이 없을 것입니다.

0

는 LocalDB에 연결 특정 데이터 파일이 연결 문자열을

자동 인스턴스

Server=(localdb)\v11.0;Integrated Security=true; 
        ^^^^^ 

을 필요로

Server=(localdb)\v11.0;Integrated Security=true; AttachDbFileName=.......; 

또한 connectionstrings

, 버전에 대한 참조를 참조하십시오 NET Framework가 필요합니다. 연결 오 당신이 그것은 V11.0하지 V10.0해야

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\ 
+0

이 모든 것을 점검했지만 문제가 여전히 있습니다. 제 전체 코드가 유용할까요? – SetFlame

+0

기본 예외의 InnerException 필드에 무언가가 있습니까? 실제 문제가있는 경우가 있습니다. SQL Server 비트를 설치했다고 가정합니다. http://www.kodyaz.com/sql-server-2012/sql-server-2012-localdb-setup.aspx – Steve

+0

이것 좀 보겠습니다. 사실, 다른 데이터베이스에 문제가 있다는 것을 기억합니다. 잘못된 파일을 삭제했을 수도 있습니다. 나는 이것을 또한 볼 것이다! – SetFlame

0

에 확인할 수 있습니다, 그리고 미래에 v12.0의 +가있을 것입니다, 4.02,하지만 더 V10.0은 없습니다. 이것은 Visual Studio 2010 또는 SQL Server 2008과는 아무런 관련이 없습니다. LocalDb는 처음에는 SQL Express 2012와 함께 제공되었으며 v11.0입니다. http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx

LocalDb 또한 .NET으로 최소한 필요합니다. 4.02 그러나 불행하게도 레지스트리의 버전은 경우에도 항상 v4.0.30319입니다 명명 된 사용하는 경우 .NET http://blogs.msdn.com/b/sqlexpress/archive/2011/10/27/net-framework-4-now-supports-localdb.aspx

가능하면 이전, 단지이 문제가 존재할 수 .NET 4.5

에 업그레이드 인스턴스를 v11.0 대신 사용하고 프로그램이나 서비스가 다른 사용자로 실행되었고 해당 사용자 인스턴스가 여전히 데이터베이스에 연결되어 있습니다. 불행히도 데이터베이스는 자동으로 분리되기까지 잠시 시간이 걸릴 수 있습니다.

관련 문제