파일 핸들을 열어 두는 사람이 ADOX 라이브러리에 문제가 있습니까?ADOX에서 파일 핸들을 열어 두는 경우
VB6 -> VB.Net 변환에 이상한 문제가 있습니다. ADOX를 사용하여 주어진 데이터베이스의 테이블을 살펴보고 auto increment 속성이 true로 설정된 테이블의 모든 열의 시드 값을 다시 설정하는 함수가 있습니다.
"col.Properties ("Autoincrement "). Value"라는 호출로 문제를 추적했습니다. 이 코드 줄을 주석으로 처리하면 함수 끝 부분에서 ADO 및 ADOX 연결을 닫을 때 파일 핸들이 제대로 종료됩니다. 그 라인을 남겨두면 닫는 호출과 가비지 콜렉션을 강제 함에도 불구하고 핸들이 열려 있습니다.
System.Runtime.InteropServices.Marshal.ReleaseComObject(adoConn)
Dim connection As ADODB.Connection = cat.ActiveConnection
If Not connection Is Nothing Then
connection.Close()
End If
cat.ActiveConnection = Nothing
cat = Nothing
adoConn는 ADO 연결하고, 고양이는 ADOX.Catalog 개체입니다 : 여기
내가 개체를 폐쇄하고 방법입니다. col (before에서)은 카탈로그 개체에 사용되는 ADOX.Column 개체입니다.
원래이 알고리즘을 ADO.Net을 사용하도록 변환하려고 시도했지만 DataSet 개체를 사용하여 닫을 수는 있지만 테이블 열이 자동 증가로 설정되었는지 확인하는 방법을 파악할 수 없었습니다. 이것은 Access 2000 데이터베이스 btw입니다.