连接池问题 [ADODB 连接SQL Server 2005 问题]
某一个定时导出的EXE程序,自动导出写入一个csv文件,其中导出模块主要代码如下:
Try
System.IO.File.AppendAllText(strExportFileName, "", System.Text.Encoding.Default)
strDataSQLCommand = "SELECT * FROM t"
ObjData = DoSQLCommand(strDataSQLCommand)
If Not (ObjData Is Nothing) Then
If (ObjData.EOF = False) And (ObjData.BOF = False) Then
While (ObjData.EOF = False) And (ObjData.BOF = False)
For 1 To 100
ObjCSVData.Append();
...
Next
ObjCSVData.Append(vbCrLf)
System.IO.File.AppendAllText(strExportFileName, ObjCSVData.ToString(), System.Text.Encoding.Default)
Call ObjOrderData.MoveNext()
...
End While
End If
End If
Catch ex As Exception
...
End Try
Private Function DoSQLCommand(ByVal strSQLCommand As String) As ADODB.Recordset
On Error GoTo OnError
Dim ObjData As New ADODB.Recordset
If IsEmptyString(strSQLCommand) = True Then
Return (Nothing)
End If
If CheckSQLConnection(False) = True Then
If ObjData.State <> ADODB.ObjectStateEnum.adStateClosed Then Call ObjData.Close()
ObjData.ActiveConnection = Nothing
Call ObjSQLConnection.BeginTrans()
Err.Clear()
Call ObjData.Open(strSQLCommand, ObjSQLConnection, CursorTypeEnum.adOpenKeyset)
If Err.Number <> 0 Then
Call ObjSQLConnection.RollbackTrans()
Return (Nothing)
Else
Call ObjSQLConnection.CommitTrans()
Return (ObjData.Clone)
End If
Else
Return (Nothing)
End If
Exit Function
End Function
程序没问题,数据能正常导出,但程序运转一段时间(比如1-2个月)以后,EXE程序会发生写入csv文件失败,关闭exe程序,再次运行也不行,但重新启动机器后,再运行EXE程序即可.
请问这种情况,会有什么样的原因会导致发生?
(不会是文件读写冲突,因为导出文件名是按系统当前时间产生,精确到秒,格式如 filename_YYYYMMDDHHMMSS.csv)