access数据库远程访问问题排查

Access数据库远程访问问题排查

1、第一步要保证本地能够访问access 数据库。win10 系统一般会安装32位的驱动库,
1)打开Windows 管理工具就可以看到。
在这里插入图片描述
2)如果开发的时候用64位的,则需要单独安装“AccessDatabaseEngine_X64.exe”。

2、远程连接access

1)Access 是本地数据库,如果需要远程访问,则需要在局域网内,创建共享文件夹,通过共享方式进行访问。

共享文件夹的时候也有一些问题,WIN10系统访问WIN7 会访问不了,但是WIN7 可以访问WIN10的共享文件夹;
查看微软官网的答案,最后ps 那一段非常重要。需要在系统服务中启用SMBv1。
在这里插入图片描述
2)ACCESS连接目前用的是QODBC 进行开发,示例代码如下:

    db_ = QSqlDatabase::addDatabase("QODBC");
    QString dbname = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MS Access};DBQ="+access_url_;
    db_.setDatabaseName(dbname);

设置好accesss 地址以后一直报错误:

[21-05-31,17:36:28.903][AccessUpload][W]|failed to connect to access QSqlError("-1056", "QODBC3: Unable to connect", "[Microsoft][ODBC Microsoft Access Driver]
常见错误 无法打开注册表项“Temporary (volatile) Ace DSN for process 0x1a10 Thread 0x64c DBC 0x37757f38                                                              Jet”。 
[Microsoft][ODBC Microsoft Access Driver] 找不到可安装的 ISAM

这个错误目前是通过两个方法解决的:
a、 命令行运行组策略 gpedit.msc,用户配置->管理模板->Windows组件->附件管理器,中等风险文件类型的包含列表中更改如下图
在这里插入图片描述
运行 gpupdate 使组策略生效。

b、更改数据库读取权限,代码如下:

db_.setConnectOptions("SQL_ATTR_ACCESS_MODE=SQL_MODE_READ_ONLY");

设置完上述以后,基本能够解决远程访问access 的问题。

ps:access 远程地址一般如下: \192.168.101.2\test\test.mdb

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值