Я не могу понять, что не так с приведенным ниже кодом. Синтаксис работает нормально (проверено в SQL Management Studio), у меня есть доступ, как и должен, и это тоже работает ... но по какой-то причине, как только я пытаюсьсоздайте таблицу через PyODBC, затем она перестанет работать.
import pyodbc
def SQL(QUERY, target = '...', DB = '...'):
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=' + target + DB+';UID=user;PWD=pass')
cursor = cnxn.cursor()
cursor.execute(QUERY)
cpn = []
for row in cursor:
cpn.append(row)
return cpn
print SQL("CREATE TABLE dbo.Approvals (ID SMALLINT NOT NULL IDENTITY PRIMARY KEY, HostName char(120));")
Не удастся:
Traceback (most recent call last):
File "test_sql.py", line 25, in <module>
print SQL("CREATE TABLE dbo.Approvals (ID SMALLINT NOT NULL IDENTITY PRIMARY KEY, HostName char(120));")
File "test_sql.py", line 20, in SQL
for row in cursor:
pyodbc.ProgrammingError: No results. Previous SQL was not a query.
Кто-нибудь знает, почему это так?У меня установлен драйвер «SQL Server» (по умолчанию), работающий под управлением Windows 7 в среде Windows Server SQL Server (не в базе данных Express).