回答

收藏

如何在 Excel 中的 VBA 中使 ADODB.Connection 持久化?

技术问答 技术问答 142 人阅读 | 0 人回复 | 2023-09-12

我有一个 Excel 来自我们的电子表格需要显示SQL 数据库数据。
! e2 A8 A0 J& m. B5 C我将慢查询结果存储在临时表中,并希望在不重复慢查询的情况下重复访问结果。
7 s: H9 n0 u* H* b9 m我在 VBA 中使用 ADODB.Connection 连接到我们的 SQL 数据库和搜索信息。只要用户使用电子表格,我就想打开连接并在各种宏中使用会话。我找不到任何方法来使连接持久,所以一旦我退出打开它的宏,它就会永远关闭,失去我创建的所有临时表。
  q/ p. A& r$ i; J+ f5 v6 p$ E                                                                - M3 C: x" r2 @- H
    解决方案:                                                               
* z$ O' l, M5 r9 `% `, z% N- z! t                                                                当宏完成并关闭时,您的连接将超出范围。你不想无限期地保持 SQL Server 打开连接,因为它会严重影响其他用户/服务的数据库性能。
6 e( T. R) f# `& D. _您存储在临时表中的数据有多大?如果不太大,可以在本地保存。为了防止这些数据在宏完成时超出范围,您需要将其存储在模块级变量中,而不是在宏中。是的,你也可以在这里存储你的连接,但我强烈建议你不要。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则