Access作为MySQL前端:将连接字符串转为用户DSN时保留option=3的问题
在用户DSN中添加
option=3参数解决Access连接MySQL的并发报错问题 我之前做Access对接MySQL的项目时,也碰到过一模一样的问题——连接字符串里必须加option=3才能避开那个Jet引擎的并发修改报错,转用户DSN的时候确实得费点劲把这个参数加上。给你两个靠谱的方法:
方法一:通过ODBC数据源管理器可视化配置
- 先打开ODBC数据源管理器:可以去控制面板的「管理工具」里找,或者直接按Win+R输入
odbcad32.exe回车打开 - 切换到「用户DSN」标签,找到你创建的MySQL数据源,点「配置」按钮
- 在弹出的驱动配置窗口里,找「高级」或者「连接选项」的标签(不同版本的MySQL ODBC驱动界面可能略有差异,但肯定有个地方能加额外参数)
- 在额外连接参数的输入框里,直接输入
OPTION=3,然后一路确定保存配置 - 重启Access,用这个DSN重新连接,测试下之前的报错是不是消失了
方法二:手动修改注册表(如果图形界面找不到参数入口)
用户DSN的配置都存在注册表的HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\[你的DSN名称]路径下:
- 按Win+R输入
regedit打开注册表编辑器 - 导航到上面的路径,在右侧空白处右键,新建「字符串值」,命名为
OPTION - 双击这个新建的字符串,把数值数据改成
3,然后关闭注册表 - 重新打开Access并使用该DSN连接,应该就能解决问题了
顺便提一句,这个option=3对应的是ODBC的SQL_ACCESS_MODE参数,值为3代表启用「读写访问」,默认的DSN配置里可能没明确设置这个参数,导致Jet引擎在处理并发修改时触发了锁定冲突,手动加上后就和之前连接字符串的效果完全一致了。
内容的提问来源于stack exchange,提问作者stacks
相关产品推荐
相关产品推荐

