2013-09-21 2 views
0

MS Excel 매크로를 사용하여 만든 SQLCE "test.SDF"데이터베이스 파일 테이블에 데이터를 삽입하려고합니다. 내 엑셀 파일을 .SDF로 변환하고 싶지 않지만 매크로를 사용하여 Excel 파일에서 SDF로 데이터를 삽입하고 싶습니다. "제공자는 수행 할 수 없습니다, 그것은 제대로 설치 하지 않을 수 있습니다 오류 (3706)."매크로가있는 SQL Compact Edition에 연결

은 지금까지 나는이

나는 다음과 같은 오류가 직면하고
Dim strconn As String 
    Dim cnt As ADODB.Connection 
    Dim rst As ADODB.Recordset 
    Dim cmd As ADODB.Command 


    strconn = "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5; Data Source= H:\Excel files and Macros\TechData.sdf;Persist Security Info=False;" 
    Set cmd = New ADODB.Command 
    Set cnt = New ADODB.Connection 
    cnt.ConnectionString = strconn 
    cnt.Open 
    Runsql ("Insert into UnitData Values(" & Version & ", " & Acoustic & ")") 

    cnt.Close 

했을 라인 "cnt.Open"에서

는 또한 참조가 "마이크로 소프트 액티브"데이터가 도움을 2.0 라이브러리

감사 개체 및 질문에 대한 더 통관에 대한 의견을 주시기 바랍니다 추가했습니다.

+0

무엇을 시도 했습니까? Google에는 이러한 사례가 많이 있습니다. 그 중 하나를 사용해 보았습니까? –

+0

다음 코딩을 시도했습니다. – Rahul

+0

SQLCE 3.5 SP2 MSI를 설치 했습니까? – ErikEJ

답변

0

Ok 코드를 다음으로 바꾸십시오. 시스템에 SQLCE 3.5가 설치되어 있다는 것을 명심하십시오.

Dim stConnection As String 
    Dim ADODBcnt As New ADODB.Connection 

    Dim dbRecord As New ADODB.Recordset 
    dbRecord.CursorLocation = adUseServer 
    dbRecord.CursorType = adOpenKeyset 
    dbRecord.LockType = adLockBatchOptimistic 

    stConnection = "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5; Data Source= filepath\file.sdf;Persist Security Info=False" 
    'Instantiate the ADODB objects.' 
    If Not ADODBcnt.State Then 
     ADODBcnt.ConnectionString = stConnection 
     ADODBcnt.Open 
    End If 

C_stSQL = "Insert into UnitData Values('" & Version & "', '" & Acoustic & "');" 

    dbRecord.Open C_stSQL, ADODBcnt 
    If (dbRecord.State = 1) Then 
     dbRecord.Close 
    End If 

    ADODBcnt.Close 
관련 문제