我试图连接到下面的字符串,但它提供了一个编译错误。奇怪的是,它在一台机器上运行良好,但在另一台机器上抛出错误!下面是我的代码和错误,有人能指出我应该修改什么吗?
database = "\\\\Mithril\\Databases\\Master.mdb";
System.Collections.Hashtable lookup = new System.Collections.Hashtable();
//This is the error line
OLEDBConnection olecon = new OLEDBConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + database.ToString());下面是我得到的编译错误:
Error 2 Cannot create an instance of the abstract class or
interface 'Microsoft.Office.Interop.Excel.OLEDBConnection' 编辑?
我也尝试过:
using System.Data;
System.Data.OleDb.OLEDBConnection olecon = new System.Data.OleDb.OLEDBConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + database.ToString());这带来了一个不同的编译错误:
Error 19 The type or namespace name 'OLEDBConnection' does not exist in the
namespace 'System.Data.OleDb' (are you missing an assembly reference?发布于 2014-03-27 13:56:51
看起来您的代码引用的是Microsoft.Office.Interop.Excel.OLEDBConnection接口,您可能需要的是System.Data.OleDb.OleDbConnection接口。
excel接口将只在可用所需程序集的机器上正确构建(如果安装了Excel接口,这可能是正确的),而System.Data.OleDb接口是.Net框架的一部分,因此将在安装.Net框架的所有机器上工作。
如果您确实打算使用excel互操作接口,那么最好将所需的互操作程序集与源一起添加到某种"lib“目录中,然后从那里引用它。请参阅在TFS中编译具有Microsoft的生成
https://stackoverflow.com/questions/22689720
复制相似问题