네트워크 드라이브에있는 액세스 데이터베이스에서 데이터를 행으로 내보내고 있습니다. 현재 다음 C# 코드를 사용합니다.네트워크 드라이브의 액세스 데이터베이스에 대해 실행할 때 OLEDB가 느립니다.
using(OleDBCommand oleDBCommand = new oledbcommand(insertstring,conn))
{
OleDbParameter param = new OleDbParameter();
param.ParameterName = " .. ";
oleDbCommand.Parameters.Add(param);
....
....
....
foreach(Row row in rows)
{
oleDBCommand.parameters.add["asd"].value= row.o;
....
....
oleDCCommand.executenonquery();
}
}
100,000 개의 행을 내보내는 데 약 1 분이 걸립니다. 그러나 네트워크 드라이브에있는 데이터베이스로 내보낼 때는 약 1 시간이 걸립니다. 이 hickup의 원인은 무엇이며이를 해결하는 방법은 무엇입니까?
Microsoft.ACE.OLEDB.12.0 EDIT : 네트워크 드라이브는 로컬에서 네트워크로 100mb 파일을 이동하는 데 몇 분 정도 걸립니다.
이 문맥에서 어떤 대기 시간이 의미하는지 설명해 주시겠습니까? 그리고 내가 100 MB 파일을 옮길 때 왜 그렇게되지 않습니까? – willem
대기 시간이란 비트를 전송하는 데 필요한 선형 시간과 관련이없는 고정 된 시간 블록을 의미합니다. 여러 대기 시간이있을 수 있으므로 처음에는 선형으로 보일 수 있습니다. 테스트 만하면됩니다. 왜 그런 일이 일어나지 않을지에 대해서는 OLEDB 네트워크 경로의 세부 사항 때문일 것입니다. 100MB 파일을 전송할 때 네트워크 모델의 하위 레벨에서 전송되기 때문에 전송되지 않습니다. –