1
pyODBC가 Python 3.2에 설치되어 있고 테스트로 만든 SQL Server 2008 R2 데이터베이스를 업데이트하려고합니다.pyODBC 및 SQL Server 2008 및 Python 3
데이터 검색에 문제가 없으며 항상 효과가 있습니다.
그러나 프로그램이 cursor.execute ("sql")을 실행하여 행을 삽입하거나 삭제할 때 오류가 발생하지 않습니다. 응답은 마치 데이터베이스 업데이트에 성공한 것 같지만 변경 사항은 반영되지 않습니다.
아래에 기본적으로 (내가 나중에에 대한 계획이) 사전을 만드는 그냥
I (내가 로그에 쓴 항목을 테스트로 작동) SQL INSERT 문의 빠른 빌드를 수행하는 코드 내 테이블에 Killer라는 11 개의 행이 있습니다. Killer는 커밋 된 후에도 전혀 영향을받지 않습니다.
나는 이것이 뭔가 바보 같지만 나는 그것을 볼 수 없다는 것을 알고있다. 여기
코드입니다 : 방금Connection.commit()
방법에 대한 괄호가없는 것 같은이 게시물에 오타가없는 가정
cnxn = pyodbc.connect('DRIVER={SQL Server Native Client 10.0};SERVER=PHX-500222;DATABASE=RoughRide;UID=sa;PWD=slayer')
cursor = cnxn.cursor()
# loop through dictionary and create insert entries
logging.debug("using test data to build sql")
for row in data_dictionary:
entry = data_dictionary[row]
inf = entry['Information']
dt = entry['TheDateTime']
stat = entry['TheStatus']
flg = entry['Flagg']
# create sql and set right back into row
data_dictionary[row] = "INSERT INTO Killer(Information, TheDateTime, TheStatus, Flagg) VALUES ('%s', '%s', '%s', %d)" % (inf, dt, stat, flg)
# insert some rows
logging.debug("inserting test data")
for row in data_dictionary.values():
cursor.execute(row)
# delete a row
rowsdeleted = cursor.execute("DELETE FROM Killer WHERE Id > 1").rowcount
logging.debug("deleted: " + str(rowsdeleted))
cnxn.commit
감사합니다! !! !! 너무 재미있어, 내 문제를 바로 쳐다 보았다. 흥미로운 점은 cnxn.commit이 속성이 아니라 기능이라는 파이썬 파서의 경고 또는 불만이 없다는 것이다. 다시 한 번 감사드립니다! – Tab
@Tab 스크립트를 통해 실행 중이면 아무 메시지도 없지만 인터프리터에서 객체의 문자열 표현을 인쇄합니다. – Bryan
이 시점에서 WingIDE 내에서 실행 중입니다. .NET이 마지막 플랫폼 이었으므로 상당히 변화가있었습니다. – Tab