2234
Авг. 28, 2015 16:00:53
Добрый день,
Помогите пожалуйста, не получается сделать выборку из таблицы (в базе), подключение проходит, а select нет.
Python 3.2
База SQL 2008
установлен pyodbc модуль
Подключение проходит.
import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=#;DATABASE=#;UID=#;PWD=#')
cursor = cnxn.cursor()
t = ('1',)
c.execute('select ms from Voice where symbol=?', t)
Ошибка:
Traceback (most recent call last):
File “C:\Python32\base_v1.2.py”, line 7, in <module>
c.execute('select ms from Voice where symbol=?', t)
NameError: name ‘c’ is not defined
Пробовал второй вариант тоже не проходит.
#cursor.execute(“select * from Voice”)
#row = cursor.fetchone()
#if row:
# print(row)
Ошибка:
Traceback (most recent call last):
File “C:\Python32\base_v1.2.py”, line 10, in <module>
cursor.execute(“select ms from Voice”)
pyodbc.ProgrammingError: ('42S02', " Invalid object name ‘Voice’. (208) (SQLExecDirectW)")
Заранее благодарю.
py.user.next
Авг. 28, 2015 16:08:46
2234
NameError: name ‘c’ is not defined
Имя c не определено. Там cursor надо писать.
2234
pyodbc.ProgrammingError: ('42S02', " Invalid object name ‘Voice’. (208) (SQLExecDirectW)")
Нет такой таблицы. Либо базу не выбрал, либо имя не то.
2234
Авг. 28, 2015 16:34:29
py.user.next
Попробовал вот так.(Вариант 1) Коннект прошел.
import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=#;DATABASE=#;UID=#;PWD=#')
t = ('1',)
c.execute('select ms from Voice where symbol=?', t)
Ошибка таже:
Traceback (most recent call last):
File "C:\Python32\base_v1.2.py", line 7, in <module>
c.execute('select ms from Voice where symbol=?', t)
NameError: name 'c' is not defined
Вариант 2
import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=#;DATABASE=#;UID=#;PWD=#')
cursor = cnxn.cursor()
cursor.execute("select ms from Voice")
row = cursor.fetchone()
if row:
print(row)
Ошибка:
Traceback (most recent call last):
File "C:\Python32\base_v1.2.py", line 10, in <module>
cursor.execute("select ms from Voice")
pyodbc.ProgrammingError: ('42S02', "[42S02] [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'Voice'. (208) (SQLExecDirectW)")
Таблица правильная, база правильная имя тоже правильное.
Коннект проходит.(# - вставляю свои данные)
import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=#;DATABASE=#;UID=#;PWD=#')
cursor = cnxn.cursor()
Подскажите пожалуйста.
FishHook
Авг. 28, 2015 16:37:55
Не очень получилось. Тренируйся.
FishHook
Авг. 28, 2015 16:38:48
Я к чему, оформляй код по-человечески или никак.
py.user.next
Авг. 28, 2015 18:15:40
2234
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=#;DATABASE=#;UID=#;PWD=#')
Заполни решётки буквами. Даже если это синтаксис какой-то специальный, надо всё равно попробовать.