2015-01-31 5 views
-1

Mssql 및 Mysql 테이블에 값을 삽입하는 C# 응용 프로그램을 작성하고 있습니다. Mssql에 문제가 없습니다. Mssql 서버가 연결을 끊으면 Mssql 테이블에 값이 삽입되지 않습니다.MySQL 연결이 끊긴 경우에도 행을 삽입합니다.

하지만 삽입 작업 중에 MySQL 서버가 연결이 끊어지면 값이 삽입되는 경우가 있습니다. MySQL 서버 연결이 끊어진 경우 값이 가끔 가끔 값이 삽입됩니다.

try 
{ 
    mysqlConn.Open(); 
    MySqlCommand command = new MySqlCommand(); 
    command.Connection = mysqlConn; 
    command.CommandText = //INSERT INTO TABLE 
    command.ExecuteNonQuery(); 
}catch (MySqlException ex){ 
    Console.WriteLine("MYSQL Exception: " + ex.Message); 
}catch (Exception ex){ 
    Console.WriteLine("MYSQL Exception: " + ex.Message); 
}finally{ 
    mysqlConn.Close(); 
} 

가 어떻게이있는 경우 값이 작동시에는 단절이없는 경우에만 MySQL의 테이블에 삽입 삽입되지 않도록 할 수 있습니다 여기에

코드에서 발췌 한 것입니다 수술 중 단선?

+1

간단한 삽입을 실행하는 데 시간이 많이 걸리면 연결이 끊어지며 연결이 끊어 지더라도 삽입됩니다. 어쩌면 삽입을 명시 적 트랜잭션에 넣는 것이 도움이 될 것입니다. 그렇지 않으면 나중에 제대로 선택되었는지 확인하기 위해 데이터를 선택해야 할 수도 있습니다. – Rhumborl

+0

@Rhumborl 데이터베이스에서 연결이 끊긴 경우에도 프로그램이 작동하는지 테스트하려면 임의의 시간 간격으로 Mssql 및 Mysql의 연결을 끊기 위해 C#의 배치 파일을 실행하고 있습니다. 작동 중에 MySQL 연결이 끊어지면 작업을 삽입 할 수 없지만 Mssql을 사용하면 ' T는 어떤 문제가 발생했습니다. 삽입 작업 후 데이터를 선택했으나 여전히 선택 작업 중에 분리가 발생하면 올바르게 작동하지 않습니다 .Mysql에서 트랜잭션을 작성하고 C#에서 호출하여 Mysql이 단절을 처리해야 함을 의미합니까? – freelancer86

답변

0

Mysql 데이터베이스의 필드에 고유 한 키를 추가하여 문제가 해결되었으므로 하나 이상의 행을 두 번 이상 삽입 할 수 없습니다.

관련 문제