Форум сайта python.su
0
Добрый день,
Помогите пожалуйста, не получается сделать выборку из таблицы (в базе), подключение проходит, а 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)")
Заранее благодарю.
Офлайн
857
2234Имя c не определено. Там cursor надо писать.NameError: name ‘c’ is not defined
2234Нет такой таблицы. Либо базу не выбрал, либо имя не то.pyodbc.ProgrammingError: ('42S02', " Invalid object name ‘Voice’. (208) (SQLExecDirectW)")
Офлайн
0
py.user.next
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:36:55)
Офлайн
568
Не очень получилось. Тренируйся.
Офлайн
568
Я к чему, оформляй код по-человечески или никак.
Офлайн
857
2234Заполни решётки буквами. Даже если это синтаксис какой-то специальный, надо всё равно попробовать.cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=#;DATABASE=#;UID=#;PWD=#')
Офлайн