질문!! 3개의 DB에 동시에 쿼리(삽입)을 날려서 3개의 DB가 데이터의 일관성을 가지고 싶어여;;
환경 : 비스타 비즈니스 K 버전, 비쥬얼베이직 6.0, ADO사용, MSSQL 2005 Express
현재 저의 컴퓨터에는 하나의 서버에 3개의 데이터 베이스가 들어있습니다. 이를각각 DB1, DB2. DB3 이라고 합니다.
현재 3개의 DB에는 모두 같은 데이블에 같은 정보를 저장하고 있습니다.
비쥬얼베이직에서 ADO를 이용하고, 쿼리(삽입)를 통해서 값를 3개의 디비에 똑같이 넣고 싶습니다.
지금 현재는 트랜잭션도 없이 그냥 3개의 디비에 커넥션을 연결했다, 끈었다 하면서 값을 삽입하고 있습니다.
그런데 만약에 도중에 문제가 생겼을 경우를 대비해서 트랜잭션을 걸고 싶습니다.
그런데 제가아는 트랜잭션이란 하나의 디비에 건다고 알고있습니다.
트랜잭션을 걸고 쿼리문을 날리고 문제가 없다면 커밋하고, 도중에 에러가 나면 에러부분처리하는데서
롤백을 하구요..
그런데 이렇게 해도...DB1, DB2에 값이 제대로 들어갔는데 DB3에서 롤백이 되는경우가 발생할수도 있습니다.
이러면 트랜잭션이란 개념이 좀 애매해지는것같은데요...
쿼리문(삽입)을 동시에 3군대에 DB에 값을 넣으면서 3군대 동시에 트랜잭션? 을 걸려면 어떻게 해야할까요?
3개의 DB가 어떤문제에도 일관성을 유지 할수 있는 방법을 알려주셨으면 합니다...
고수님들..함도와주세요~
------
문제를 해결하지 못해서 얍삽한 방법으로 롤백의 경우가 생기면 이전에 커밋되엇던 값을 쿼리문(삭제)를 할려고하고
있습니다. 문제가 많네요..
고수님들..함도와주세요~
|