2011-02-08 4 views
2

파일을 읽고 데이터베이스에 데이터를 삽입하는 프로그램이 있습니다. 나는 그 프로그램을위한 테스트 하니스를 파이썬으로 작성하고있다. Python 하네스는 데이터베이스에 연결되어 테스트 데이터를 생성하기 전에 몇 가지 구성 매개 변수를 가져옵니다. 그런 다음 테스트중인 프로그램에서 파일을 처리하고 데이터베이스를 수정할 수 있도록 10 초 동안 대기합니다. 지연 후 데이터베이스에서 값을 읽으려고하면 해당 값이 존재하지 않습니다. 두 번째 터미널을 열어 명령 줄을 통해 확인하지 않으면 거기에 없습니다. 파이썬 테스트 하네스를 종료하자마자 데이터가 데이터베이스에 삽입된다. MySQLdb가 테이블을 잠그고있어 데이터를 삽입 할 수없는 것으로 보입니다. 어떻게Python MySQLdb가 테이블 잠금을 해제하지 않습니다

TL 테이블에서의 잠금을 해제 MySQLdb 어떻게해야합니까, 박사 내 워크 플로는 위의 내 다른 프로그램

당신이 필요로하는

답변

3

를 삽입해야 데이터를 확인하기 위해이

connection = MySQLdb.connect(host="localhost") 
cursor = connection.cursor() 
cursor.execute(".....") 
cursor.close() 
connection.commit() 
connection.close() 
cursor = None 
connection = None 

sleep(10) 

반복처럼 보인다 connection.commit() 전에 cursor.close()하기 전에.

MySQL은 실제로 커서를 지원하지 않습니다. 파이썬 래퍼가 커서를 에뮬레이트합니다. 이로 인해이 예와 같이 예기치 않은 방식으로 코드가 작동하지 않을 수 있습니다.

관련 문제