2012-03-24 3 views
0

안녕하세요 저는 C#을 처음 사용하고 있습니다. oledb를 사용하여 SQL Server 2008 데이터베이스, 특히 SQL Server 2008에 연결하는 동안 연결 문자열에서 제공해야하는 필드에 약간 혼란스러워합니다. 그들의.연결 문자열 oledb의 공급자 필드

"제공자"필드는 정말로 그것이 무엇을하는지 잘 모르므로 부분적으로는 문제를주고 있습니다. 나는 두 개의 서로 다른 제공자 문자열을 시도하고 모두 동일한 오류로 돌아올 :

은 "있는 System.Data.SqlClient 공급자가 로컬 컴퓨터에 등록되어 있지 않습니다

또는

은"

Microsoft.Jet .OLEDB.4.0 "공급자는 로컬 컴퓨터

사람이 기본값은 공급자가 또한, 내 작업이 어떤 추가 설치를 사용하지 않는 저를 필요? 무엇을 의미하는지 말해 줄래?

에 등록되어 있지 않습니다 감사

+0

"System.Data.SqlClient"는 oledbprovider가 아니지만 AnyCPU (또는 x64) 용으로 작성된 응용 프로그램에 대해서는 "Microsoft.Jet.OLEDB.4.0"공급자를 64 비트 시스템에서 사용할 수 없습니다. 모든 SQLServer 관련 클래스의 네임 스페이스입니다. [www.connectionstrings.com] (http://www.connectionstrings.com)을보십시오. 난 당신이 연결하려고하는 데이터베이스에 설명해야한다고 생각하고 귀하의 connectionstring – Steve

답변

0

Microsoft Jet 엔진은 Microsoft Access에서 사용되는 데이터베이스 엔진입니다. 오류는 단순히 필요한 Access 버전이 설치되어 있지 않아 응용 프로그램이 OLEDB 드라이버를 열 수 없다는 것을 의미합니다.

일반적으로 System.Data.OleDb.OleDbConnection 클래스 대신 System.Data.SqlClient.SqlConnection 클래스를 사용하여 SQL Server 2008 데이터베이스에 연결해야합니다. 연결 문자열은 much simpler이어야합니다.