VB6 ADO 连接池

标签 vb6 ado connection-pooling

我们公司有一堆 VB6 应用程序。我们正在尝试调试随机 SQL 超时错误,并使用 SQL Server Profiler 对审核登录事件进行跟踪。我们注意到连接以非池方式进入。我们将 SQLOLEDB 提供程序与 SQL Server 2000 和 2005 一起使用。我搜索了互联网,我遇到的所有内容都说默认情况下 SQLOLEDB 提供程序中的连接是池化的,但我们没有看到这一点。下面是我们用来连接数据库的代码。我们真的需要将这些连接池化,因为我们认为这可能是我们的随机超时错误的问题。任何人都可以阐明为什么连接池不起作用以及任何使它起作用的方法吗?谢谢。

Dim cnn As New ADODB.Connection
cnn.ConnectionString = "Provider=SQLOLEDB;Data Source=xxx;Catalog=xxx;User ID=xxx Password=xxx;"
Call cnn.Open
Dim cmd As New ADODB.Command
Set cmd.ActiveConnection = cnn
cmd.CommandText = "SELECT * FROM [Table]"
Dim rs As New ADODB.RecordSet
Call rs.Open(cmd, , adOpenStatic, adLockOptimistic)
While Not rs.eof
    'Do stuff
    Call rs.MoveNext
Wend
'Close and Dispose connection here

最佳答案

在每次调用时处理连接可以防止池化

...at least one instance of a Connection object instantiated for each unique user—at all times. Otherwise, the pool will be destroyed when the last Connection object for that string is closed.



http://msdn.microsoft.com/en-us/library/ms810829.aspx

关于VB6 ADO 连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/427966/

相关文章:

mysql - 努力在 Glassfish 上创建 MySQL 连接池

java - 如何跟踪未关闭的孤立 JDBC 连接?

scripting - 无线 HTA 中的 DAO 与 ADO

sql - VBA ADO 参数化 LIKE 查询

mysql - 如何检查Field是否可以包含NULL(adFldIsNullable)

JBoss 数据库连接池

hash - Visual Basic 6.0 哈希函数

vb6 - VB6 中的 VSFlexgrid 许可问题

mysql - Vb6将密码作为文本框插入数据库中

vb6 - Visual Basic 6 检查正在运行的 Excel 实例