【发布时间】:2018-03-23 21:26:25
【问题描述】:
我有一个 Microsoft Access 数据库,其中包含一个主动链接到 Sharepoint 中的列表的表。只要我在 Microsoft Access 中对表中的记录进行更改,更改就会出现在服务器上。
我有一些数据要添加到该表中。我想执行一些INSERT 和UPDATE SQL 查询来添加新数据,因为有很多行要添加。我要添加的数据在这个数据库的第二个表中,它没有链接到共享点列表。
问题是,第二次我的 SQL 查询甚至触及链接到 Sharepoint 的第一个表时,我收到以下错误:
System.Runtime.InteropServices.COMException: '找不到可安装的 ISAM。'
我已经尝试对Microsoft.Office.Interop.Access.Dao 和OleDb 执行此操作。他们都很好地连接到数据库,但每当我尝试触摸链接到 Sharepoint 的表时,都会失败并显示上述错误消息。他们可以编辑任何没有主动链接到 Sharepoint 的表格,没有任何问题。
我花了一段时间在谷歌上搜索我遇到的错误,并找到了各种不同的建议,但我所看到的所有建议都没有帮助我解决这个问题。我确定 Sharepoint 的链接会以某种方式导致此错误,但如果我删除该链接,我的数据将不会像我想要的那样上传到 Sharepoint。那么如何克服这个错误并查询链接表呢?
我尝试为这些运行的代码
Microsoft.Office.Interop.Access.Dao
Dim dbEngine As New Microsoft.Office.Interop.Access.Dao.DBEngine
Dim dbs As Microsoft.Office.Interop.Access.Dao.Database
Dim rst As Microsoft.Office.Interop.Access.Dao.Recordset2
dbs = dbEngine.OpenDatabase(FileName)
rst = dbs.OpenRecordset("SELECT * FROM SharepointLinkedTable") '<-- Crashes here
OleDb
Dim cnnOLEDB As New OleDbConnection
Dim cmdOLEDB As New OleDbCommand
Dim strConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & FileName
cnnOLEDB.ConnectionString = strConnectionString
cnnOLEDB.Open()
cmdOLEDB.CommandText = "SELECT * FROM SharepointLinkedTable"
cmdOLEDB.Connection = cnnOLEDB
Dim rdrOLEDB As OleDbDataReader = cmdOLEDB.ExecuteReader '<-- Crashes here
【问题讨论】:
标签: sql ms-access sharepoint dao