c#访问access 2013不成功,各位哥哥姐姐帮忙看下,谢谢啦

wanglifeng995 2018-01-18 04:44:22
using System;
using System.Collections.Generic;
using System.Data.OleDb;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SQLConsole
{
class Program
{
static void Main(string[] args)
{
string connStr = "Provider=Microsoft.ACE.OleDB.15.0;Data Source=Student.accdb";
OleDbConnection conn = new OleDbConnection(connStr);
try
{
conn.Open();
Console.WriteLine("打开数据库成功!");
conn.Close();
}
catch (OleDbException ex)
{
Console.WriteLine(ex.ToString());
}
}
}
}
...全文
596 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
dssfanzj 2018-01-20
  • 打赏
  • 举报
回复
去https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=13255 下载AccessDatabaseEngine,32和64的都下载,哪个能用装哪个,如果已经安装过先卸载原来的再安装。另外连接串改成 Provider=Microsoft.ACE.OleDB.12.0;Data Source=Student.accdb 亲测OK
wanglifeng995 2018-01-20
  • 打赏
  • 举报
回复
引用 32 楼 lkf181的回复:
缺了个 AccessDatabaseEngine
安装过了,仍不行
wanglifeng995 2018-01-20
  • 打赏
  • 举报
回复
引用 31 楼 dssfanzj的回复:
去https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=13255 下载AccessDatabaseEngine,32和64的都下载,哪个能用装哪个,如果已经安装过先卸载原来的再安装。另外连接串改成 Provider=Microsoft.ACE.OleDB.12.0;Data Source=Student.accdb 亲测OK
我那电脑安装了windows10 64位和access 2013 64位,这几天分别安装测试过access engine 2010 64位、access 2013和2016 runtime的64位,都不行呀!哥们,你电脑的系统和软件版本是如何呢?
lkf181 2018-01-20
  • 打赏
  • 举报
回复
缺了个 AccessDatabaseEngine
xuzuning 2018-01-19
  • 打赏
  • 举报
回复
虽然你的自学能力很强,但也不要随意更换数据库系统,毕竟 SQLite 和 Access 分属两个不同的数据库系列。随人都遵从 SQL7.0 标准,但细节上还是有很大差异的 SQLite.dll 也是有 32 和 64 位之分的,要按你的目标框架选用
wanglifeng995 2018-01-19
  • 打赏
  • 举报
回复
下载图片中紫红色的那个版本sqliet,在vs2015 c#中无法引用,这是为什么呢
wanglifeng995 2018-01-19
  • 打赏
  • 举报
回复
引用 20 楼 xomix的回复:
[quote=引用 19 楼 wanglifeng995 的回复:] [quote=引用 18 楼 fontain2的回复:]其实桌面数据库没必要在客户机器上装专门的驱动软件,本来功能就简单,微软自以为是弄得这套确实让人不舒服,不过习惯于windows,ACCESS的MDB到哪个版本的操作系统基本都能打开,所以很多人也就忍了。如果真想一劳永逸,还是用sqlite这样的好,一个dll解决所有问题
好的,我试试sqliet,那上面我那几行代码如何稍作修改来连接它呢[/quote] 换个链接字符串,还个using,基本就完成了。[/quote] 下载图片中紫红色的那个版本sqliet,在vs2015 c#中无法引用,这是为什么呢
wanglifeng995 2018-01-19
  • 打赏
  • 举报
回复
引用 22 楼 xuzuning的回复:
你的数据库是 64位的,而驱动是 32位的
我都是下载64位的啦,
xuzuning 2018-01-19
  • 打赏
  • 举报
回复
你的数据库是 64位的,而驱动是 32位的
wanglifeng995 2018-01-19
  • 打赏
  • 举报
回复
引用 20 楼 xomix的回复:
[quote=引用 19 楼 wanglifeng995 的回复:] [quote=引用 18 楼 fontain2的回复:]其实桌面数据库没必要在客户机器上装专门的驱动软件,本来功能就简单,微软自以为是弄得这套确实让人不舒服,不过习惯于windows,ACCESS的MDB到哪个版本的操作系统基本都能打开,所以很多人也就忍了。如果真想一劳永逸,还是用sqlite这样的好,一个dll解决所有问题
好的,我试试sqliet,那上面我那几行代码如何稍作修改来连接它呢[/quote] 换个链接字符串,还个using,基本就完成了。[/quote] 好的,谢谢,我现在去下载一个看看
  • 打赏
  • 举报
回复
引用 19 楼 wanglifeng995 的回复:
[quote=引用 18 楼 fontain2的回复:]其实桌面数据库没必要在客户机器上装专门的驱动软件,本来功能就简单,微软自以为是弄得这套确实让人不舒服,不过习惯于windows,ACCESS的MDB到哪个版本的操作系统基本都能打开,所以很多人也就忍了。如果真想一劳永逸,还是用sqlite这样的好,一个dll解决所有问题
好的,我试试sqliet,那上面我那几行代码如何稍作修改来连接它呢[/quote] 换个链接字符串,还个using,基本就完成了。
wanglifeng995 2018-01-19
  • 打赏
  • 举报
回复
引用 18 楼 fontain2的回复:
其实桌面数据库没必要在客户机器上装专门的驱动软件,本来功能就简单,微软自以为是弄得这套确实让人不舒服,不过习惯于windows,ACCESS的MDB到哪个版本的操作系统基本都能打开,所以很多人也就忍了。如果真想一劳永逸,还是用sqlite这样的好,一个dll解决所有问题
好的,我试试sqliet,那上面我那几行代码如何稍作修改来连接它呢
fontain2 2018-01-19
  • 打赏
  • 举报
回复
其实桌面数据库没必要在客户机器上装专门的驱动软件,本来功能就简单,微软自以为是弄得这套确实让人不舒服,不过习惯于windows,ACCESS的MDB到哪个版本的操作系统基本都能打开,所以很多人也就忍了。如果真想一劳永逸,还是用sqlite这样的好,一个dll解决所有问题
wanglifeng995 2018-01-19
  • 打赏
  • 举报
回复
引用 15 楼 fontain2的回复:
可以存储为2013格式用Microsoft.Jet.OLEDB.4.0访问,这个驱动一般会有
你是说access另存为03老版本的mdb格式,连接字符串也用老版本的?这access真不人性化呀!
wanglifeng995 2018-01-19
  • 打赏
  • 举报
回复
引用 14 楼 程序人生起波澜的回复:
首先,你的ACCESS数据库是哪个版本的?Microsoft.ACE.OleDB.15.0未装入驱动,ACCESS数据库有多个版本驱动12.0版本的支持access engine 2010 和access engine 2007,access engine 64位,但关健,你做这个ACCESS数据库是用哪个版本做的?我用的是ACCESS 2010数据库做的,然后用的12.0 测试中只有access engine 2010 使用正常
哦,我电脑组 装了access  engine 2010和access runtime 2016,access 2013 64位,windows 10 64位,然后显示3楼图片的错误,
fontain2 2018-01-19
  • 打赏
  • 举报
回复
可以存储为2013格式用Microsoft.Jet.OLEDB.4.0访问,这个驱动一般会有
  • 打赏
  • 举报
回复
首先,你的ACCESS数据库是哪个版本的?Microsoft.ACE.OleDB.15.0未装入驱动,ACCESS数据库有多个版本驱动12.0版本的支持access engine 2010 和access engine 2007,access engine 64位,但关健,你做这个ACCESS数据库是用哪个版本做的?我用的是ACCESS 2010数据库做的,然后用的12.0 测试中只有access engine 2010 使用正常
wanglifeng995 2018-01-19
  • 打赏
  • 举报
回复
引用 12 楼 stevenjin的回复:
换个字符串连接试试
这字符串怎么换才好呢
wanglifeng995 2018-01-19
  • 打赏
  • 举报
回复
引用 18 楼 fontain2的回复:
其实桌面数据库没必要在客户机器上装专门的驱动软件,本来功能就简单,微软自以为是弄得这套确实让人不舒服,不过习惯于windows,ACCESS的MDB到哪个版本的操作系统基本都能打开,所以很多人也就忍了。如果真想一劳永逸,还是用sqlite这样的好,一个dll解决所有问题
sqliet没弄成,引用时,出现28楼图片的错误。不过,将access另存为其古董版本,确实可行,而且也就不用再安装那些什马折腾几天仍没作用的驱动,
stevenjin 2018-01-19
  • 打赏
  • 举报
回复
换个字符串连接试试
加载更多回复(14)

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧