2017-10-03 5 views
0

psycopg2 코드를 사용하여 SQL 파일 (postgresql)을 열고 코드에 LIMIT 값을 전달합니다. 그리고 그것은 잘 작동합니다. 다음은 몇 가지 코드입니다 : . .psycopg2에서 pyodbc로 매개 변수화 된 쿼리를 변환

cur.execute(open("sample.sql","r").read(),(lim,)) 

. . 내 sample.sql

테이블라는 이름의 샘플을 만들고 test

CREATE TABLE sample(name varchar(500)); 
INSERT INTO sample(name) SELECT name FROM test LIMIT %s; 

%s라는 이름의 다른 테이블에서 일부 데이터로 채 웁니다 cur.execute

내 질문에서 전달 된 값 lim입니다한다 :이 번역 어떻게 sql server에서 사용하려면 pyodbc 코드로 변환 하시겠습니까?

+1

'사용해보십시오'대신'%의 s'에 대한의 : ... WHERE city = %s

pyodbc는 "qmark"자리 표시자를 사용 psycopg2 및 pyodbc의 개발자는 단순히 다른 스타일을 선택했다 매개 변수 자리 표시 자. –

+0

고맙습니다. ? 문제가 해결되었습니다. –

답변

0

psycopg2와 pyodbc는 모두 Python의 DB API를 구현하며이 사양은 사용할 수있는 몇 가지 parameter styles을 정의합니다.

psycopg2는 "형식"자리 표시자를 사용합니다 : ... WHERE city = ?