Уведомления

Группа в Telegram: @pythonsu

#1 Июль 28, 2013 10:18:06

Pluto
Зарегистрирован: 2012-05-29
Сообщения: 177
Репутация: +  1  -
Профиль   Отправить e-mail  

Python 3.3+pyodbc. Выдаёт ошибки знаками вопроса! + Как создать dbf-таблицу?

В итоге я не знаю чего ему не нравится.
Выдал вот:

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 (Июль 28, 2013 10:44:02)

Офлайн

#2 Июль 28, 2013 11:02:22

Pluto
Зарегистрирован: 2012-05-29
Сообщения: 177
Репутация: +  1  -
Профиль   Отправить e-mail  

Python 3.3+pyodbc. Выдаёт ошибки знаками вопроса! + Как создать dbf-таблицу?

Ах ты ж етить твою налево!
Numeric(5) этому гаду не понравился! Нельзя, оказывается, указывать длину поля numeric. Он желает создавать такие поля только длиною в 20 символов, пять из которых идут на дробную часть числа и один символ на точку.

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

П.С. Остался открытым вопрос по поводу вопросов в тексте ошибки. (Вот ведь тавтология, блин…)

Офлайн

#3 Июль 29, 2013 05:30:19

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Python 3.3+pyodbc. Выдаёт ошибки знаками вопроса! + Как создать dbf-таблицу?

Погуглил на эту тему, попробуйте использовать другой ODBC драйвер для доступа к dbf. Что нибудь типа “Microsoft FoxPro VFP Driver”. А вообще, зачем вам ODBC? Есть же нативные библиотеки



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#4 Июль 29, 2013 05:37:34

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Python 3.3+pyodbc. Выдаёт ошибки знаками вопроса! + Как создать dbf-таблицу?

Pluto
Остался открытым вопрос по поводу вопросов в тексте ошибки. (Вот ведь тавтология, блин…)
Проверить не могу, нет windows под рукой, но скорее всего текст ошибки в unicode выводится в консоль с cp1251 или cp866, попробуйте перехватывать исключение и логировать в файл с utf-8



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#5 Июль 29, 2013 16:52:08

Pluto
Зарегистрирован: 2012-05-29
Сообщения: 177
Репутация: +  1  -
Профиль   Отправить e-mail  

Python 3.3+pyodbc. Выдаёт ошибки знаками вопроса! + Как создать dbf-таблицу?

PooH
А вообще, зачем вам ODBC? Есть же нативные библиотеки
Для скорости. Мне надо не просто dbf-ку поглядеть, мне надо к ней запросы рисовать, select'ы всякие разные безобразные. Выборки делать. Объединения таблиц делать. И т.д.

Офлайн

#6 Март 31, 2014 13:23:34

Pluto
Зарегистрирован: 2012-05-29
Сообщения: 177
Репутация: +  1  -
Профиль   Отправить e-mail  

Python 3.3+pyodbc. Выдаёт ошибки знаками вопроса! + Как создать dbf-таблицу?

Оказывается, ODBC - это совсем не для скорости…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version