永发信息网

使用C#连接Access数据库时,出现问题如下:

答案:3  悬赏:60  手机版
解决时间 2021-03-07 02:52
  • 提问者网友:浪荡绅士
  • 2021-03-06 21:04
使用oledb方式连接,提示问题:未在本地计算机注册“Provider=Microsoft.Jet.OLEDB.4.0;Data source="D:\test\test\test.mdb”提供程序
重装了Access,但是问题依旧,新手,请多帮助!

using System.Data.OleDb;是这个吗?已经添加了,还是少其他文件?
提示错误:
未处理 System.InvalidOperationException
Message="未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0:Data Source=D:\\myprog\\datalinktest\\datalink1\\datalink1\\test.mdb”提供程序。"
Source="System.Data"
StackTrace:
在 System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper)
在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
在 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
换成了相对路径,也是这样,这样的问题 没有人遇到过吗?
最佳答案
  • 五星知识达人网友:怙棘
  • 2021-03-06 22:23
D:\test\test\test.mdb 改成 D:\\test\\test\\test.mdb试试
全部回答
  • 1楼网友:十年萤火照君眠
  • 2021-03-07 00:19
using system.data; using system.data.oledb; string strconnection="provider=microsoft.jet.oledb.4.0;"; strconnection =@"data source=c:\begaspnet\northwind.mdb"; oledbconnection objconnection=new oledbconnection(strconnection); objconnection.open(); objconnection.close(); 连接access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的! strconnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源. "provider=microsoft.jet.oledb.4.0;"是指数据提供者,这里使用的是microsoft jet引擎,也就是access中的数据引擎,asp.net就是靠这个和access的数据库连接的. "data source=c:\begaspnet\northwind.mdb"是指明数据源的位置,他的标准形式是"data source=mydrive:mypath\myfile.mdb". ps: 1." ="后面的"@"符号是防止将后面字符串中的"\"解析为转义字符. 2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接: strconnection ="data source="; strconnection =mappath("northwind.mdb"); 这样就可以省得你写一大堆东西了! 3.要注意连接字符串中的参数之间要用分号来分隔. "oledbconnection objconnection=new oledbconnection(strconnection);"这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道. "objconnection.open();"这用来打开连接.至此,与access数据库的连接完成.其余操作(插入,删除...)
  • 2楼网友:等灯
  • 2021-03-06 23:09
最好采用相对路径。关于access使用相对路径的方法网站很多。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯