0
는 구석에 자신을 바탕으로 함수 내에서 연하여 OLE DB 연결을 닫기. 반환 된 OleDbcommand objCommand는 처리 후 열려 있습니다. 파일을 닫은 후에 파일을 삭제할 수 있도록 파일을 닫아야합니다. (서버에 매달려있는 것을 원하지 마십시오.)는 <p></p> 내가 웹에서 발견 코드 조각을 사용하고이 연결을 종료하는 방법을 알아낼 수 없습니다 ....
이 작업은이 작업을 시도한 100 줄의 코드보다 쉽습니다. 이 함수는 연결을 엽니 다.
Protected Function ExcelConnection() As OleDbCommand
Dim fileName As String = Session("newUploadedFile")
' Connect to the Excel Spreadsheet
Dim xConnStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & Server.MapPath(String.Format("~/Upload/{0}", fileName)) & ";" & _
"Extended Properties=Excel 8.0;"
' create your excel connection object using the connection string
Dim objXConn As New OleDbConnection(xConnStr)
objXConn.Open()
' use a SQL Select command to retrieve the data from the Excel Spreadsheet
' the "table name" is the name of the worksheet within the spreadsheet
' in this case, the worksheet name is "Sheet1" and is expressed as: [Sheet1$]
Dim objCommand As New OleDbCommand("SELECT Name FROM [Sheet1$]", objXConn)
Return objCommand
End Function
내가 시도 ... 명령을 다시하고 닫습니다 약 40 다른 시도와 함께
ExcelConnection.connection.close()
.
정말이 도움말을 사용할 수 있습니다.
왜 명령 개체를 반환해야합니까? 'IDisposable' (연결 또는 명령과 같이)을 구현하고 명령을 반환하지 않고 원하는 데이터 ('DataTable' 또는'List (Of CustomClass) ')를 구현하는 모든 객체에'Using' 문을 사용하십시오. . –
여러 위치에서 호출되었습니다. 스프레드 시트 파일을 삭제하기 위해 코딩을 시작했을 때만 문제가되었습니다. 완벽한 예를 들자면, 웹 예제가 그렇게하지 않은 이유를 알지 못한다. – htm11h