Pythonスクリプト内でSQL(クライアントで実行すると完全に機能します)を渡そうとしていますが、「フォーマット文字列の引数が不足しています」というエラーが表示されます
以下、コード:
sql = """
SELECT
rr.iserver,
foo.*, rr.queue_capacity,
rr.queue_refill_level,
rr.is_concurrent,
rr.max_execution_threads,
rr.retrieval_status,
rr.processing_status
FROM
(
SELECT DISTINCT
ip.package,
it. TRIGGER
FROM
wip.info_package ip,
wip.info_trigger it
WHERE
ip.service = it.service and
ip.iserver = '%(iserver)s' and
it.iserver = %(iserver)s'
AND package = '%(package)s'
UNION
SELECT
'%(package)s' AS package,
TRIGGER
FROM
info_trigger
WHERE
TRIGGER LIKE '%(package)s%'
) AS foo,
info_trigger rr
WHERE
rr. TRIGGER = foo. TRIGGER
""" % {'iserver' : var_iserver,'package' : var_package}
dcon = Database_connection()
getResults = dcon.db_call(sql, dbHost, dbName, dbUser, dbPass)
# more and more code to work the result....
これに関する私の主な問題は、どのように'%(iserver)s' , '%(package)s'
正しく合格できるかです。通常、データベースで選択または挿入するときは、2つの変数しか使用しませんが、2つ以上でそれを行う方法がわかりません。
ありがとう。