2017-10-03 10 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 = ?

関連する問題