crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> PyQT, PostgreSQL и верхний регистр в именах, Использование SetTable с верхним регистром
g00d
  опции профиля:
сообщение 29.11.2008, 5:21
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 6
Регистрация: 26.6.2008
Из: Ростов-на-Дону
Пользователь №: 214

Спасибо сказали: 0 раз(а)




Репутация:   0  


model = QtSql.QSqlTableModel();
model.setTable("\"UMUAcessManagement\".documents");
model.select()

Помогите, нигде не могу найти ответ, уже практически отчаялся его найти. Может хоть подскажите где искать.
Проблема следующая. В базе на Посттгресе используются именования схемы разнорегистровыми символами. Для сохранения регистра там в Постргресе используется экранирование строки кавычками. Функция settable по-ходу по умолчанию преобразует полученную строку к нижнему регистру перед тем как отдать базе. Насколько я понимаю логику работы, то settable приводит строку из примера к виду \"umuacessmanagement\".documents

Есть вариант с setQuery, но хотелось бы с этим разобраться
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 29.11.2008, 7:59
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(g00d @ 29.11.2008, 8:21) *
Функция settable по-ходу по умолчанию преобразует полученную строку к нижнему регистру перед тем как отдать базе.
не знаю как работает в Питоне, но в Qt (С++) такого нет, как выяснилось (методом хождения по граблям) эта функция обрамляет в кавычки имя таблицы, возможно у тебя после записи:
setTable("\"UMUAcessManagement\".documents");
получается такое имя:
""UMUAcessManagement".documents"

вобще имя сточкой - странное, на мой взгляд
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 16:58