C# ACE.OLEDB.12.0-Sharepoint连接参数无效
对于我制作的一个项目,我需要使用OleDB从Sharepoint检索列表。下面您可以看到我使用的代码:C# ACE.OLEDB.12.0-Sharepoint连接参数无效,c#,sharepoint-2013,oledb,blueprism,rpa,C#,Sharepoint 2013,Oledb,Blueprism,Rpa,对于我制作的一个项目,我需要使用OleDB从Sharepoint检索列表。下面您可以看到我使用的代码: string ConnectionString = "WSS;HDR=YES;IMEX=2;DATABASE=XXX;LIST=YYY;RetrieveIds=Yes;TABLE=ZZZ;Provider=Microsoft.ACE.OLEDB.12.0"; string query = "Select * From [Table]"; OLEDBConnection conn = new O
string ConnectionString = "WSS;HDR=YES;IMEX=2;DATABASE=XXX;LIST=YYY;RetrieveIds=Yes;TABLE=ZZZ;Provider=Microsoft.ACE.OLEDB.12.0";
string query = "Select * From [Table]";
OLEDBConnection conn = new OLEDBConnection(ConnectionString);
conn.Open();
OLEDBDataAdapter dataAdapter = new OLEDBDataAdapter(query, conn);
DataSet ds = new DataSet();
dataAdapter.Fill(ds);
插入从Sharepoint生成的.iqy文件中获取的值,以代替xxx、yyy、ZZI
计算机在Windows 10 Enterprise x64上运行,并预装了Office Professional 2016 x86(请注意,不可能安装64位Office),包括Access 2016。Sharepoint server是Sharepoint 2013版本
使用此设置,代码在打开连接时抛出异常无效参数
。我还确保12.0提供商已注册。尝试将提供程序更改为16.0版本确实会导致完全相同的异常
有人建议我用“MicrosoftAccess数据库引擎2010”(x86)试试
从Microsoft page安装引擎后,上面的代码开始工作。我能够通过查询建立连接并获取列表
但是,在打开Access之后,在它打开之前,它会运行一些修复(触发Office Professional安装)。修复后,代码再次停止工作,直到我重新安装“Microsoft Access数据库引擎2010”
我尝试使用Access链接表连接字符串中的参数。(它使用的是ACEWSS;参数而不是WSS;),但没有任何结果
我还试图从连接字符串中删除WSS参数,但随后代码抛出错误无法找到可安装的ISAM
下面请查找用于连接结果的所有连接字符串:
WSS;HDR=是;IMEX=2;数据库=XXX;LIST=YYY;RetrieveIds=是;表=ZZZ;Provider=Microsoft.ACE.OLEDB.12.0“
-参数无效ACEWSS;HDR=YES;IMEX=2;DATABASE=XXX;LIST=YYY;RetrieveIds=YES;TABLE=ZZZ;Provider=Microsoft.ACE.OLEDB.12.0”
-参数无效HDR=YES;IMEX=2;数据库=XXX;LIST=YYY;RetrieveIds=是;表=ZZZ;Provider=Microsoft.ACE.OLEDB.12.0“
-找不到可安装的ISAM
WSS;HDR=YES;IMEX=2;DATABASE=XXX;LIST=YYY;RetrieveIds=YES;TABLE=ZZZ;Provider=Microsoft.ACE.OLEDB.16.0”
-参数无效WSS;HDR=是;IMEX=2;数据库=XXX;LIST=YYY;RetrieveIds=是;表=ZZZ;Provider=Microsoft.ACE.OLEDB.16.0“
-参数无效HDR=YES;IMEX=2;DATABASE=XXX;LIST=YYY;RetrieveIds=YES;TABLE=ZZZ;Provider=Microsoft.ACE.OLEDB.16.0”
-找不到可安装的ISAMWSS;HDR=是;IMEX=2;数据库=XXX;LIST=YYY;RetrieveIds=是;表=ZZZ;Provider=Microsoft.ACE.OLEDB.12.0“
-这个很好用!
ACEWSS;HDR=YES;IMEX=2;DATABASE=XXX;LIST=YYY;RetrieveIds=YES;TABLE=ZZZ;Provider=Microsoft.ACE.OLEDB.12.0”
-Microsoft Access数据库引擎找不到对象“TABLE”。HDR=YES;IMEX=2;数据库=XXX;LIST=YYY;RetrieveIds=是;表=ZZZ;Provider=Microsoft.ACE.OLEDB.12.0“
-找不到可安装的ISAM
WSS;HDR=YES;IMEX=2;DATABASE=XXX;LIST=YYY;RetrieveIds=YES;TABLE=ZZZ;Provider=Microsoft.ACE.OLEDB.16.0”
-应用程序停止工作。ACEWSS;HDR=是;IMEX=2;数据库=XXX;LIST=YYY;RetrieveIds=是;表=ZZZ;Provider=Microsoft.ACE.OLEDB.16.0“
-应用程序停止工作。
HDR=YES;IMEX=2;DATABASE=XXX;LIST=YYY;RetrieveIds=YES;TABLE=ZZZ;Provider=Microsoft.ACE.OLEDB.16.0”
-找不到可安装的ISAM我已经没有主意了,如何建立此连接并使用Access使用的默认驱动程序,也不明白为什么相同的连接字符串适用于安装的2010版本,而不适用于默认Access 2016驱动程序。我将非常感谢您的建议。有点晚了,但这是因为微软在MS Access上做了一些改变,使其无法继续工作。我建议更改流程,以便bot使用MS SQL server。