我有一个 Excel 电子表格,需要显示来自我们 SQL 数据库的数据。
我将慢查询的结果存储在临时表中,并希望能够重复访问这些结果而不必重新运行慢查询。
我在 VBA 中使用 ADODB.Connection 连接到我们的 SQL 数据库并检索信息。只要用户使用电子表格,我想打开一次连接并在各种宏中使用该会话。我找不到使连接持久的任何方法,因此一旦我退出打开它的宏,它就会始终关闭,并且丢失了我创建的所有临时表。
当宏完成并因此关闭时,您的连接将超出范围。您不希望无限期地保持对 SQL Server 的连接打开,因为这会严重影响其他用户/服务的数据库性能。
您存储在临时表中的数据有多大?如果它不是太大,你可以在本地保存它。为了防止这些数据在宏完成时也超出范围,您需要将其存储在模块级变量中,而不是在宏中。是的,您也可以在这里存储您的连接,但我强烈建议您不要。