2017-01-12 23 views
0

ADODB経由で接続しているSharePointテーブルへの書き込みに問題があります。私は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

私はこの問題を解決することができました。私は、2007年再配布可能なAccessエンジンをインストーラで使用していました。私は自分のローカルマシンで2010を使用していたことに気付きました。 2010年再頒布可能版に切り替えると、両方のマシンで問題が解決されました。

関連する問題