用vb写的一个dll,工程名为:freeweb,其中带一个连接数据库的函数,如下:-------------------------------
        class conn
          Public Function getConnByConnstr(ByVal connstr) As Connection
            Set getConnByConnstr = New Connection
            getConnByConnstr.Open connstr
          End Function
        end class
--------------------------------
注册后在asp中引用它,如下:
--------------------------------
set freewebConn=server.CreateObject("freeweb.conn")
set conn=freewebconn.getconnByConnstr(strConn) 'strConn为已定义连接字符串.
set freewebConn=nothing         conn.execute("update mycounter set count=count+1")
         conn.close
         set conn=nothing
--------------------------------问题是:
================
以上asp文件中的代码执行完成后,连接会不会完全释放??

解决方案 »

  1.   

    不会,你引出的连接进行set conn =nothing后,只会减少一个引用,不会消亡。
    因此你必须在DLL中的适当位置将连接释放。另如果你的数据库为ACCESS,连接最多为255个,如果有MSSQL则可以达3万多,而且支持连接池。
      

  2.   

    楼上的不对吧?他有写conn.close了啊,连接就应该被释放掉了,set conn=nothing的只是清内存而已了
      

  3.   

    大家注意:在dll中还有一个"getConnByConnstr.Open".dll与asp代码中都没有显示关闭这个连接.这个连接在页面执行完后也会自动立即释放吗?