2013-11-29 3 views
2

ADODB를 사용하여 Visual Basic을 MS Access에 연결하려고합니다. 그러나 코드를 실행하면 "공급자를 찾을 수 없습니다. 제대로 설치되지 않을 수 있습니다."라는 메시지가 나타납니다. 그러나 내 디렉토리를 점검 할 때 "msjetoledb40.dll"이 설치되어 있습니다.런타임 오류 '3706': 공급자를 찾을 수 없습니다. - 기본 기본

Dim conn As ADODB.Connection, rec As ADODB.Recordset 

    Sub sample() 

    Set conn = New ADODB.Connection 

    conn.Open ("Provider=Microsoft.Jet.OLEDB 4.0;Data Source=C:\sample.mdb;Persist Security Info=false;") 
End Sub 
+0

동일한 오류가 있습니다! 제 경우에는 Office 365 Excel VB Script와 함께 설치된 Oracle 11g를 사용하여 SQL 데이터베이스에 연결하려고합니다. MDAC 드라이버를 설치했습니다. 아직 문제가 해결되지 않았습니다. –

답변

3

이 더 나은 것 :

여기 내 코드입니다

Sub sample() 

    Dim conn As ADODB.Connection, rec As ADODB.Recordset 
    Set conn = New ADODB.Connection 
    conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\sample.mdb;" 
    conn.Open 
End Sub 

당신은 점을 놓쳤다.

Microsoft.Jet.OLEDB 4.0 => Microsoft.Jet.OLEDB.4.0

참조 : http://www.connectionstrings.com/.

+0

오! 어떻게 하나의 '.' 코드를 망칠 수 있습니다. 고마워, 나 또 다른 교훈이야. – Kentot

+0

우리 모두 이러한 상황에서 배웁니다. – jacouh

0

내 솔루션 : 15.0

cs = "Provider=Microsoft.ACE.OLEDB.15.0;Data Source=" & sPath & ";Persist Security Info=False;" 

및 작품

오류 3706

cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & sPath & ";Persist Security Info=False;" 

그냥 변경 12.0, 항상 컨트롤러의 버전을 변경 시도에해야합니다!

0

스크립트가 실행중인 MS Office의 버전을 확인하십시오.

Provider=Microsoft.Jet.OLEDB 4.0;Data Source=C:\sample.mdb;Persist Security Info=false; 

에 : 당신이 MS 오피스 2013을 설치하거나 나중에 한 경우에서 연결 문자열을 수정해야

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\sample.mdb;Persist Security Info=false; 

은 적어도이 내 문제를 통해서 문제를 해결할.

관련 문제