xml 파일에 저장된 데이터를 가져와 linq-to-sql을 사용하여 Microsoft Access 데이터베이스로 보내는 파서를 만들었습니다. 나는 SQL 삽입 명령을 가지고 그들은 그들이 작동하지 않을 때까지 작동합니다.몇 초 후에 사라지는 sql의 "지정되지 않은 오류"
이상하게도 각 SQL 명령을 실행 (목록에 보관하고 각 명령을 한 번에 하나씩 실행)하고 처음 40 개는 "지정되지 않은 오류"가 발생할 때까지 정상적으로 실행됩니다. 문제는 내가 예외를 삼킨 다음 몇 초 후에 예외 포수가 계속 다시 시도하도록하면 다시 작업하기 시작한 것입니다. 즉, SQL 쿼리 자체의 오류 (또는 적어도 작성 방법)가 아닙니다.
이 패턴은 여러 번 반복됩니다 (수천 개의 삽입물이 있음). 정상적인 예외 처리를 수행하면 프로그램이 오류가 발생하는 동안 몇 가지 레코드를 건너 뛰고 일시적으로 원인이 무엇이든간에 삽입을 계속합니다. 나가 그것을 달리는 경우에 과정, 그것은 몇몇 기록을 삽입하고, 몇몇을 건너 뛴다, 삽입하고 건너 뛴다, 반복하고 최후에 기록의 2/3보다는 더 적은을 삽입한다.
내 컴퓨터가 40 분 정도만 실행되어 임의로 짧은 간격 동안 더 많은 실행을 거부하는 이유가 있습니까?
나는이 문제의 원인이 될 수있는 것을 놓치고 있습니다.
응용 프로그램이 기본적으로 실행됩니다. 어떤 서버/웹 통신도 사용하지 않으며 "지정되지 않은 오류"를 찾을 때 발견 한 모든 것은 ADO.NET 응용 프로그램에서 발생을 나타냅니다.
가 여기에 오류가 일어나는 코드입니다 :
public static string insertQuery(string sql)
{
string connetionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Documents and Settings\Owner\Desktop\Arbeit\TrademarkParserproject1\TrademarkParserproject\bin\x86\Debug\Database.accdb";
OleDbConnection connection;
OleDbDataAdapter oledbAdapter = new OleDbDataAdapter();
connection = new OleDbConnection(connetionString);
string success = "false";
try
{
connection.Open();
oledbAdapter.InsertCommand = new OleDbCommand(sql, connection);
oledbAdapter.InsertCommand.ExecuteNonQuery();
}
catch (Exception ex)
{
success = ex.ToString();
return success;
}
success = "true";
return success;
}
주, 나는 ACE.OLEDB.12.0 어댑터 오류를 방지하기 위해 X86 모드에서 실행되는 응용 프로그램이 있습니다.
그게 전부입니다! 글리치는 처분하지 않고 너무 많은 동시 연결을 여는 결과 여야합니다. 고맙습니다!! – ConnorU