首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用OleDbConnection出错

使用OleDbConnection出错
EN

Stack Overflow用户
提问于 2014-03-27 13:52:59
回答 1查看 2.3K关注 0票数 0

我试图连接到下面的字符串,但它提供了一个编译错误。奇怪的是,它在一台机器上运行良好,但在另一台机器上抛出错误!下面是我的代码和错误,有人能指出我应该修改什么吗?

代码语言:javascript
复制
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());

下面是我得到的编译错误:

代码语言:javascript
复制
Error 2 Cannot create an instance of the abstract class or 
interface 'Microsoft.Office.Interop.Excel.OLEDBConnection'  

编辑?

我也尝试过:

代码语言:javascript
复制
using System.Data;
System.Data.OleDb.OLEDBConnection olecon = new System.Data.OleDb.OLEDBConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + database.ToString());

这带来了一个不同的编译错误:

代码语言:javascript
复制
Error 19 The type or namespace name 'OLEDBConnection' does not exist in the 
namespace 'System.Data.OleDb' (are you missing an assembly reference?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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的生成

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22689720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档