没有。原因是COM的方法需要传回一个recordset,如果将Connecton给Close掉的话,将无法传回recordset了。此项目有几十万条数据,是不是每Select一次内存就会大幅上升一次?

解决方案 »

  1.   

    No,no,no,no,,,,,,我想這問題得用斷線式Recordset來解決,否則几十萬筆資料都Recordset留在Server端,可不是什麼好事。結集集Select出來後,把ActiveConnection設為Nothing.同時把CursorLocation設為adUseClient.
      

  2.   

    是不是打开的ado用完后没有关闭?
    关注!
      

  3.   

    To N_CHow('"&[*/--!~*[]測試):
       Recordset的CursorLocation设的是adUserClient,问题应该不在这儿。COM中ADO的用法一般如下:
    Dim Conn as New Adodb.Connection
    Dim rs as New Adodb.RecordsetConn.Open Connstr
    Conn.CursorLocation = adUserClientrs.ActiveConnection = Conn
    rs.Open SQLSet rs = Nothing
    Set Conn = Nothing
      

  4.   

    1、Close原来的连接
    2、在Server属性中限制SQL SERVER的最大内存