Найти - Пользователи
Полная версия: Python 3.3+pyodbc. Выдаёт ошибки знаками вопроса! + Как создать dbf-таблицу?
Начало » Базы данных » Python 3.3+pyodbc. Выдаёт ошибки знаками вопроса! + Как создать dbf-таблицу?
1
Pluto
В итоге я не знаю чего ему не нравится.
Выдал вот:
pyodbc.ProgrammingError: ('42000', '[42000]' [Microsoft] [??????? ODBC dBase] ?????? ?????????? ? ?????????? CREATE TABLE. {-3551}  {SQLExecDirectW}')
Причём знаки вопроса находятся в красных ромбиках.
Чего он от меня шифруется? Что ему надо?

Win 7-64
Python 32 bit

А выдаётся эта ошибка на следующий код:
import pyodbc
S = 'Driver={Microsoft dBase Driver (*.dbf)}; DefaultDir=D:\\MyProg'
db = pyodbc.connect(S, autocommit=True)
cur2 = db.cursor()
a=1
if a == 1:
    cur2.execute("CREATE TABLE pyodbc (id NUMERIC(5), fio CHAR(40), dr DATE)")
cur2.close()
db.close()
Pluto
Ах ты ж етить твою налево!
Numeric(5) этому гаду не понравился! Нельзя, оказывается, указывать длину поля numeric. Он желает создавать такие поля только длиною в 20 символов, пять из которых идут на дробную часть числа и один символ на точку.

ЗАРАЗА!!!!! А если мне нужна КОНКРЕТНАЯ длина поля numeric? Нужна до зарезу!
Поубивал бы!

П.С. Остался открытым вопрос по поводу вопросов в тексте ошибки. (Вот ведь тавтология, блин…)
PooH
Погуглил на эту тему, попробуйте использовать другой ODBC драйвер для доступа к dbf. Что нибудь типа “Microsoft FoxPro VFP Driver”. А вообще, зачем вам ODBC? Есть же нативные библиотеки
PooH
Pluto
Остался открытым вопрос по поводу вопросов в тексте ошибки. (Вот ведь тавтология, блин…)
Проверить не могу, нет windows под рукой, но скорее всего текст ошибки в unicode выводится в консоль с cp1251 или cp866, попробуйте перехватывать исключение и логировать в файл с utf-8
Pluto
PooH
А вообще, зачем вам ODBC? Есть же нативные библиотеки
Для скорости. Мне надо не просто dbf-ку поглядеть, мне надо к ней запросы рисовать, select'ы всякие разные безобразные. Выборки делать. Объединения таблиц делать. И т.д.
Pluto
Оказывается, ODBC - это совсем не для скорости…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB