Передача имени таблицы в качестве параметра в pyodbc - PullRequest
5 голосов
/ 12 июля 2011

Я пытался передать имя таблицы в pyodbc в качестве параметра для доступа к данным из MS SQL 2005. Я пытался заменить его?но это никогда не работает.Я был бы рад получить любой совет о том, как этого добиться.

Ответы [ 2 ]

4 голосов
/ 10 августа 2011

Поскольку вы используете pyodbc, я предполагаю, что вы не вызываете SPROC.Я рекомендую собрать строку SQL в python и затем передать ее в SQL для выполнения.

import pyodbc
dbconn = pyodbc.connect(ConnectionString)
c = dbconn.cursor()

j = 'table1' #where table1 is entered, retreived, etc
query = "Select * from %s" % j
c.execute(query)
result = c.fetchall()
print 'Done'
2 голосов
/ 12 июля 2011

Вы не можете иметь переменную в качестве имени таблицы SQL Server.Для этого вам нужно использовать динамический SQL .

Узнайте, как работать с именами динамических таблиц.http://www.sommarskog.se/dynamic_sql.html#objectnames

...