如何在 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. _您存储在临时表中的数据有多大?如果不太大,可以在本地保存。为了防止这些数据在宏完成时超出范围,您需要将其存储在模块级变量中,而不是在宏中。是的,你也可以在这里存储你的连接,但我强烈建议你不要。 |
|
|
|
|
|