Уведомления

Группа в Telegram: @pythonsu

#1 Май 7, 2014 14:58:56

Suliman
Зарегистрирован: 2013-06-18
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу сделать выборку из Firebird

Выполняю все по инструкции: http://fdb.readthedocs.org/en/latest/usage-guide.html

def checkfdbconnection():
	global db
	try:
		db = fdb.connect(dsn=gvar.dbhost, user=gvar.dbuser, password=gvar.dbpass)
		print "Connected to FireBird DB"
		try:
			cur = db.cursor()
			cur.execute("select CUSTOMER_NAME from CUSTOMER")			
			db.commit()
		except:
			print "ERROR"
	except:
		print "[ERROR] \t Could not connect ro FireBird DB"
checkfdbconnection()

Послу запуска получаю ошибку:
D:\Project\2014\archproject>test.py
Connected to FireBird DB
ERROR

Как понять в чем может быть ошибка?

Офлайн

#2 Май 7, 2014 15:01:20

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не могу сделать выборку из Firebird

Suliman
Как понять в чем может быть ошибка?
Убери try-except, пусть ошибка сработает, в трейсбеке наверняка будет какая-то внятная информация.



Офлайн

#3 Май 7, 2014 15:11:21

Suliman
Зарегистрирован: 2013-06-18
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу сделать выборку из Firebird

Спасибо, помогло я ошибся именем столбца в БД.
А как в Try Catch поймать эту ошибку? Чтобы она была более развернутой?

Офлайн

#4 Май 7, 2014 15:22:27

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не могу сделать выборку из Firebird

import traceback
try:
    1 / 0
except ZeroDivisionError:
    traceback.print_exc()



Офлайн

#5 Май 7, 2014 16:12:43

Suliman
Зарегистрирован: 2013-06-18
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу сделать выборку из Firebird

А как быть с выводом кириллицы на консоль?

Теперь выборка работает, но вместо русских букв вижу:

('\xcd\xd6 \xce\xcc\xc7',)
('\xce\xce\xce1',)
('\xce\xce\xce2',)

Офлайн

#6 Май 7, 2014 16:40:08

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не могу сделать выборку из Firebird

Suliman, Вы уже год(!!!) питон мучаете, неужели до сих пор с PEP263 не ознакомились?



Офлайн

#7 Май 8, 2014 09:02:17

Suliman
Зарегистрирован: 2013-06-18
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу сделать выборку из Firebird

FishHook
Я год назад тут только зарегился, а что-то учить начал только пару месяцев назад. Попробовал сделать:
print (row).encode('utf-8')
Но не помогло и на консоль теперь вообще ничего не выводится.

		db = fdb.connect(dsn=gvar.dbhost, user=gvar.dbuser, password=gvar.dbpass)
		print "Connected to FireBird DB"
		try:
			cur = db.cursor()
			cur.execute("select CUSTOMER_NAME from CUSTOMER")
			results = cur.fetchall()
			for row in results:
				print (row).encode('utf-8')
			db.commit()
			
		except:
			print "Can't create DB"

encode('utf-8') – непонятно, будет ли работать тут эта конструкция и какую сюда кодировку именно прописывать. Сама база у меня в win-1251

Отредактировано Suliman (Май 8, 2014 09:20:58)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version