2012-10-01 3 views
1

Excel에서 adodb 레코드 세트를 만들고 싶습니다. 필요에 따라 추가/편집 등을 반복 할 수 있습니다. 다음은 레코드를 만들지 만 오류 (80004005) 발생의 마지막 줄에 "SharePoint 사이트에 연결할 수 없음을 나중에 다시 시도하십시오."Excel에서 ADODB를 사용하여 SharePoint 사이트에 연결할 수 없습니다.

strLURL = "<SharePoint list URL>" 
    strGUID = "{D16F31E9-41F3-4193-8926-35FFC0714C86}" 
    intIMEX = 1 
    strList = "Planner" 
    strConn = "Provider=Microsoft.ACE.OLEDB.12.0;WSS;" 
    strConn = strConn & "IMEX=" & intIMEX & ";" 
    strConn = strConn & "RetrieveIds=Yes;" 
    strConn = strConn & "DATABASE=" & strLURL & ";" 
    strConn = strConn & "LIST=" & strGUID & ";" 
    strConn = strConn & "VIEW=; RetrieveIds=Yes;" 
    strConn = strConn & "Table = " & strList 

    Dim cnCur As New ADODB.Connection 
    Dim rsCur As New ADODB.Recordset 
    Dim strSQL As String 

    cnCur.Open ConnectionString:=strConn 
    strSQL = "SELECT * FROM [" & strList & "]" 
    rsCur.Open Source:=strSQL, ActiveConnection:=cnCur 

답변

1

ADODB 연결을 사용하여 해결책을 찾을 수 없습니다. 대신 내가하고 ListObjects 작업을위한 방법 사용 - 매우 간단합니다 :

'Declare variables 
Dim lo as ListObject 
Dim ws as Worksheet 
Dim sServerName As String 'site address e.g "http://yoursite.com/_vti_bin/" 
Dim sName As String 'list id e.g {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 
Dim sGUID As String 'view GUID e.g {yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy} 


'Create listobject 
Set lo = ws.ListObjects.Add(_ 
     SourceType:=xlSrcExternal, _ 
     Source:=Array(sServerName, sName, sGUID), _ 
     Destination:=Range("A1") _ 
     ) 

'Do something with your listobject here 

'Push updates back to server 
lo.UpdateChanges (xlListConflictDialog) 
2

당신이 직접 SQL Server 데이터베이스에 액세스 할 것이 사실이지만, 질문에 설명 된 기술은이 규칙을 위반하지 않습니다. 설명 된 기술은 SQL과 유사한 API를 사용하여 목록을 쿼리합니다. 쿼리가 실제 SQL Server 테이블을 참조하지 않는다는 것을 알 수 있습니다.

+0

이 충분한 [담당자]와, 정말 anwser되지 않습니다 (http://stackoverflow.com/faq#reputation) 당신이 될 것입니다 다른 답변에 대한 의견을 게시 할 수 있습니다. – Jack

+0

어떤 종류의 API입니까? 이 방법으로 SharePoint 목록에 액세스하는 방법을 설명하는 문서를 참조 할 수 있습니까? –

관련 문제