2014-01-06 2 views
0

SQL Server Compact 데이터베이스 (3.5)를 사용하고 있습니다. 이 사이트 (및 다른 사이트)에서이 문제와 관련하여 찾을 수있는 모든 기사를 읽었지만 문제를 찾을 수없는 것 같습니다. Visual Studio 2012, VB.Net을 사용하고 있습니다.SSCE - 여러 단계 OLE DB 작업에서 오류가 발생했습니다.

내 공급자 문자열은 다음과 같습니다 모든 휴식 다운

Dim sqlConn As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.SQLServer.CE.OLEDB.3.5;Data Source=" & My.Application.Info.DirectoryPath & "\pw.sdf" & ";Password=XXXyyy1234;Persist Security Info=True;") 

내 코드 : 물론

'Create SQL Query 
    Dim SQLString As String = "SELECT * FROM EmailGroups" 

    'Create Dataset, Open Connection 
    Dim dsPWC As New DataSet() 
    Dim OleDbDataAdapter1 As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter(SQLString, sqlConn) 
    sqlConn.Open() 

그리고는, 그것은 .Open에 고장().

간단한 데이터 테이블이기 때문에 데이터 테이블에서 선택을 선택했습니다.

EmailGroup_UID [INT] [PK] EmailGroup_Name [NVARCHAR] [길이 = 50]

나는 단순히이 너무 오래 쳐다 봤는데 더 이상 나무를 위해 숲을 볼 수 없습니다 확신 , 그래서 누군가가 나를 똑바로 때릴 수 있기를 바래요 :)

미리 감사드립니다.

EDIT :이 코드는 원본 MS Access 2007 데이터베이스 (accdb)와 연결할 때 모두 작동합니다. 물론 다른 공급자. 그리고 - 나는 테이블을 가져 오지 않았고 수동으로 다시 만들었습니다.

2 편집 : 직접 실행 창 말한다 System.Data.OleDb.OleDbException '형식의 첫째 예외가'

+0

암호를 제거하고 연결 문자열에서 보안 정보를 지속하려고 할 수 있을까요? – Steve

+0

나는 Persist를 이미 제거했다. 나는 또한 암호를 잊어 버리는 것을 꺼내 시작했다. 암호가 필요하다는 말을 들었다. '지정된 암호가 데이터베이스 암호와 일치하지 않습니다.' –

답변

1

당신은 사용해야 SqlCeConnection 대신 OldDbConnection '가 system.data.dll에서 발생'.

만약 당신이 해야 사용되어 OleDbConnection, 사용과 같이 "SSCE 데이터베이스 암호를"

"Provider=Microsoft.SQLServer.CE.OLEDB.3.5;Data Source=" & My.Application.Info.DirectoryPath & "\pw.sdf" & ";SSCE:Database Password=XXXyyy1234;Persist Security Info=True;"