“未找到数据源名称并没有指定默认驱动程序”,用于创建访问连接

问题描述:

这是我在.NET连接到Access数据库:“未找到数据源名称并没有指定默认驱动程序”,用于创建访问连接

OdbcConnection conn = new OdbcConnection("Driver={Microsoft Access Driver (*.mdb)};Dbq=" + path + "\\Access.mdb;Uid=;Pwd=;"); 

而且我得到了这个问题:

base {System.Data.Common.DbException} = {"ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified"} 

我试过几个数据库连接字符串:http://www.connectionstrings.com/access,但没有一个能够工作。

对此有何建议?

在此先感谢。

+0

您使用的Windows 7? – BlackICE

有一个简单的方法来连接字符串,尝试如下:

  • 创建一个文本文件,并改变它的扩展.udl
  • 通过双击打开新文件,并选择使用任何文本编辑器打开它,例如记事本。
  • 在打开的窗口中,选择您的提供者和数据库,然后单击确定。
  • 用记事本打开这个文件作为文本,你会在里面找到connectoin字符串。

有关更多详细信息,请参阅This

+0

不,我可以找不到记事本 – olidev

+0

内部的连接字符串请参阅:http://msdn.microsoft.com/en-us/library/aa140076%28v=office.10%29.aspx –

+0

如果没有列表中的访问提供者? –

,你可以在你上面链接同一网站上看到,默认的方式连接到访问数据库指定Microsoft.Jet.OLEDB.4.0提供者:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=; 

做这项工作,如果没有什么样的错误你得到?

+0

[System.Data.Odbc。OdbcException] = {“错误[IM002] [微软] [ODBC驱动程序管理器]数据源名称未找到,没有指定默认驱动程序”} – olidev

+0

与nefpre相同的错误 – olidev

一,是path有效字段?

其次,尝试输出用于连接数据库文件的字符串,作为完整性检查。确保输出字符串与您所期望的相符,并且指定的文件存在。

+0

是的,我相信路径是有效的 – olidev

试试这个

http://www.connectionstrings.com/

更具体地说这个

http://www.connectionstrings.com/access

我想你的代码更改为以下:

OdbcConnectionStringBuilder sb = new OdbcConnectionStringBuilder(); 
sb.Driver = "Microsoft Access Driver (*.mdb)"; 
sb.Add("Dbq", "C:\\info.mdb"); 
sb.Add("Uid", "Admin"); 
sb.Add("Pwd", "pass!word1"); 
OdbcConnection con = new OdbcConnection(sb.ConnectionString); 

web.config中添加

add name="odbcConnectionString" 
    connectionString="Driver={Microsoft Access Driver (*.mdb)};DBQ=|DataDirectory|info.mdb; " 
    providerName="System.Data.OleDb"