2017-01-12 3 views
0

У меня возникла проблема с записью в таблицу SharePoint, с которой я подключаюсь через ADODB. Я пишу приложение vb.net, и, пока это работает на моей машине, когда я компилирую проект и выпускаю его, я постоянно получаю сообщение об ошибке после развертывания.ADODB не удается найти таблицу SharePoint

The Microsoft Office Access database engine could not find the object 'Table_Name

Объект подключения ADODB успешно открывается, но когда я называю CommitTrans или .Execute методы я получаю эту ошибку. Версия SharePoint - Office 365.

Есть ли что-то, что я пропускаю?

Код:

Public Class Form1 

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Add.Click 
    Dim connection As ADODB.Connection = connectDb() 
    Dim rs As New ADODB.Recordset 

    Try 
     If Not connection Is Nothing Then 
      Me.TextBox1.Text = "Connected" 
      Me.Refresh() 
     Else 
      Me.TextBox1.Text = "Connection Failed" 
     End If 

     Dim i As Byte 
     Dim AppendSQL As String = "Insert Into Table ([Count], [Date], UserName, AppName, WindowTitle, URL, ProductiveTime, IdleTime) " & _ 
            "Values (1,#1/20/2017#,'','','','',1,1)" 


     rs.Open("Select top 1 * from Table", connection, 2, 3) 
     connection.BeginTrans() 
     For i = 1 To 5 
      With rs 
       .AddNew() 
       .Fields(0).Value = 1 
       .Fields(1).Value = "Example" 
       .Update() 
      End With 
     Next 

     connection.committrans() 
     MsgBox("Data should have been written to SharePoint") 
    Catch ex As Exception 
     MsgBox("An error occurred: " & ex.Message) 
    End Try 
End Sub 

Function connectDb() As Object 
    Try 
     Dim connection As Object = CreateObject("Adodb.connection") 
     Const ListID As String = "{61C6957D-37A9-440C-A79D-A85D15C95F91};" 
     Const ViewID As String = "{0C93F8A2-00FB-42E7-80A9-1FE82F7FAB3D};" 
     Const ConnectionStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;WSS;HDR=Yes;IMEX=0;RetrieveIds=Yes;" & _ 
           "DATABASE=https://mywebsite/sites/thesiteName/;" & _ 
           "LIST=" & ListID & _ 
           "VIEW=" & ViewID 

     With connection 
      .connectionstring = ConnectionStr 
      .Mode = ADODB.ConnectModeEnum.adModeWrite 
      .open() 
     End With 
     connectDb = connection 
    Catch ex As Exception 
     MsgBox("An error occurred: " & ex.Message) 
     connectDb = Nothing 
    End Try 
End Function 
End Class 

ответ

0

Я был в состоянии решить эту проблему. Как оказалось, я использовал распространяемый механизм Access 2007 с моим установщиком. Я заметил, что использовал 2010 на своей локальной машине. Переключение на распространяемый 2010 год решило проблему на обеих машинах.