web2py 프레임 워크 사용 파일 유형 입력을 통해 파일을 선택하고 그 내용을 MySQL BLOB 유형 필드에 저장하려고합니다. 파일에 2 진 데이터가 들어 있습니다.web2py를 사용하여 MySQL에 BLOB 저장
연결 관리에 DAL을 사용해야하지만이 작업을 수행하는 SQL 프로 시저가 있습니다. 문제는 아래에서 SQL 구문 오류가 발생하는 것입니다.
f = form.vars.element.file.read()
db.executesql("CALL someproc('" + f + "');")
여러 가지 방법으로 원시 바이너리를 삽입하려고 시도했지만 동일하거나 유사한 오류가 발생했습니다. 내가 직접처럼 MySQLdb를 사용하려고했습니다
f = form.vars.element.file.read()
db.cursor().execute("CALL someproc('" + f + "');")
db.commit()
이 완벽하게 작동하지만 문제는 여전히 열려 그래서 나는 위의 DAL 버전을 사용해야합니다.
나는 운 좋게도이 일을 해결하는데 3 일을 보냈다. :( 도와주세요!
그것은 솔기 db._adapter.cursor.callproc (...)에서 트릭을 했어! 고마워! – RawBits
질문에'db.cursor(). execute ("CALL someproc ('+ f +"'); ")'가 사용되었습니다. 이 코드에서'db'는'MySQLdb' 연결 객체입니까? 그렇다면'db._adapter.cursor.execute ("CALL someproc ('"+ f + "');")'도 호출 할 것이고 궁극적으로는'cursor(). execute()'를 호출 할 것입니다. – Anthony
나에게 파이썬 문자열 처리 문제가 될 솔기가있다. 나는 DAL을 통해 커서를 직접 사용하는 것이 같지만 어쨌든 그것은 그렇지 않다는 것을 알았습니다. – RawBits