2014-04-27 1 views
1

pyodbc 패키지를 사용하여 MS Access db (.mdb)에 텍스트 및 정수 데이터를 삽입 할 수 있습니다. 하지만 이제 큰 이진 개체를 삽입하고 싶습니다. ID (COUNTER 유형), 이름 (VARCHAR 유형), 파일 (LONGBINARY 유형), 작성자 (VARCHAR 유형) 컬럼으로 구성된 테이블이 있습니다. 이 코드를 사용하여 일부 텍스트 및 int 데이터를 삽입합니다.pyodbc를 사용하여 Access DB에 긴 이진 데이터 삽입

cursor.execute("""INSERT INTO table(ID, Name) VALUES(1,'book')""") 

그런 다음 해당 코드를 사용했지만 항상 오류가 발생합니다.

with open('c:/tree.jpg', 'rb') as file: 
     binData = file.read() 

SQL = """INSERT INTO table VALUES(2,'threePicture', %s, 'Mike')""" %(binData) 

cursor.execute(SQL) 

오류 : ProgrammingError는 ('42000', '[42000])

답변

1
내가 문자를 사용하여 해결책을 발견

...

cursor.execute("insert into table values(?, ?, ?, ?)", 2, 'treePicture', pyodbc.Binary(binData), 'Mike') 

사용?을? ? 표현식의 값에 대한 문자.

관련 문제