我们有一个使用MySQL数据库的在线购物车,并希望使用Access 2007通过链接表连接到数据库以创建各种自定义报告。不需要写访问权。
我目前正在测试一个旧的MySQL数据库,并使用一个全开放的ODBC DSN连接。要编写报告和查询,我需要完全访问数据库,如果我关闭连接Access抱怨,我无法按预期获得任何表信息。
一个解决方案是复制活动生产数据库并对其进行所有开发,然后将DSN切换到活动数据库,并为每个报告/查询打开和关闭连接。
我的总体问题是:开发/生产数据库方法是否必要?在活动的购物车MySQL数据库上持续打开连接有什么问题(如果有的话)?
= Alan R。
答案 0 :(得分:1)
连接不是线程安全的。让多个用户共享连接听起来像是在向我提出麻烦。
数据库对可以接受的并发连接数有限制。并发用户会给开发人员带来额外的负担,以指定事务之间的适当隔离。您需要平衡响应性和准确性;做一些关于隔离和ACID的研究。
如果必须保持连接打开,扩展到更多用户的唯一方法是复制数据库。这引入了它自己的头痛,以确保所有实例之间的数据同步。
只要您必须打开连接,就应该保持连接打开:打开连接,执行操作并关闭连接。
购物车情况很有意思。而不是一直保持连接打开,另一种方法是中间层建立会话并在中间层建立事务。只有在完整交易完成且用户点击“购买”按钮时才会持久保存到数据库。