Russian Qt Forum

Qt => Базы данных => Тема начата: Martiro от Октябрь 31, 2007, 10:32



Название: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: Martiro от Октябрь 31, 2007, 10:32
Помогите пожалуйста с настройками PostgreSQL!
Не могу никак понять, почему когда вытягиваю данные из базы, текст на русском выводится как-то непонятно... с квадратиками...
Как изменить настройки, чтоб не переустанавливать PostgreSQL?
Версии: PostgreSQL 7.0.2; QT 3.3.3.
(http://ryabis.hut2.ru/images/stories/base.jpg)


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: WW от Октябрь 31, 2007, 12:56
Postges переустанавливать не надо. проверь в какой кодировке создана база, какую запрышивает клиент. Postgres умеет динамически обрабатывать все это и возвращать нужную клиенту кодировку. Сейчас нет доков под рукой, но что-то типа set clientecoding=win1251 или типа этого. а БД лучше создавать в UTF-8. См. доку.


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: Martiro от Октябрь 31, 2007, 14:16
К сожалению, кодировки UTF-8, а тем более win1251, мой Postgres не поддерживает. Всё что есть, это UNICODE, KOI8 ... остальное чушь... База создаётся в KOI8. Пробовал и программу и базу на другой машине. База везде устанавливалась, как KOI8. Вот только у меня текст отображается не правильно, а на другом комп. все отлично. Клиент читает везде одинаково.
Я вот думаю, что на моей машине Pоstgres стоит "криво"...
Можно ли как-то подключить к Postgres другие кодировки?


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: alexis от Октябрь 31, 2007, 14:55
set client_encoding to unicode;


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: WW от Октябрь 31, 2007, 15:39
Вообще-то, народ уже во всю юзает PostreSQL 8.2.5, а 8.3 на подходе. Рекомендую обновится. Для клиента должно быть по барабану.


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: Martiro от Ноябрь 01, 2007, 08:52
Проблема в том, что у меня в ТЗ конкретно прописано условие использование именно этой версии...


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: Martiro от Ноябрь 01, 2007, 11:00
alexis,
Код:
ERROR: Conversion between unicode and KOI8 is not supported


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: Dodge от Ноябрь 02, 2007, 16:08
alexis,
Код:
ERROR: Conversion between unicode and KOI8 is not supported
Это постгре пишет?... у вас точно постгре, судя по подписи могу предположить что это линтер вс...


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: Martiro от Ноябрь 02, 2007, 16:18
Это Постгрес пишет.
Но, кстати, позже буду перелделывать под Линтер ВС... если найду его где-то...


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: Dodge от Ноябрь 02, 2007, 16:22
Это Постгрес пишет.
Но, кстати, позже буду перелделывать под Линтер ВС... если найду его где-то...
Ну а с юникодом что? ...тоже но сапортед?


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: Martiro от Ноябрь 02, 2007, 16:26
В общем... Пересоздал базу как "--encoding=UNICODE". В этой кодировке база отображается правильно... вот только проблема стала в том, что я не могу дамп старой базы загрузить в эту новую кодировку. Игрался с этим дампом, перекодировал, но все ровно ничего... только если вручную вбивать через phpPgAdmin или через моё приложение (ну, + еще psql ...)...


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: Martiro от Ноябрь 02, 2007, 16:29
Кстати, а никто не знает, где Линтер ВС найти?..


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: Hellraiser от Ноябрь 02, 2007, 17:34
Кстати, а никто не знает, где Линтер ВС найти?..
Вот здесь http://www.linter.ru/main_rus.php


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: Steven_Orko от Ноябрь 02, 2007, 18:42
Кстати, а никто не знает, где Линтер ВС найти?..
Вот здесь http://www.linter.ru/main_rus.php
Это скорее всего не тот Линтер ВС, который спрашивают.
Скорее всего, имеется ввиду Линтер ВС, под названием которого наши продают PostgreSQL. Если так, то нигде, они его продают, и ничего никому не дают просто так, а исходники вообще зажали.


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: Hellraiser от Ноябрь 02, 2007, 18:49
Это скорее всего не тот Линтер ВС, который спрашивают.
Скорее всего, имеется ввиду Линтер ВС, под названием которого наши продают PostgreSQL. Если так, то нигде, они его продают, и ничего никому не дают просто так, а исходники вообще зажали.
Если требуется писать приложения с поддержкой Линтера для МСВС, то можно поставить Линтер 5.9 и тестировать на нем. CALL-интерфейс и в Африке интерфейс.  :) Ну а если нужно обязательно установить, и именно Линтер ВС, то увы...


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: Dodge от Ноябрь 03, 2007, 00:39
Кстати, а никто не знает, где Линтер ВС найти?..
Вот здесь http://www.linter.ru/main_rus.php
Это скорее всего не тот Линтер ВС, который спрашивают.
Скорее всего, имеется ввиду Линтер ВС, под названием которого наши продают PostgreSQL. Если так, то нигде, они его продают, и ничего никому не дают просто так, а исходники вообще зажали.

По большому счету, линтер вс - это форк постгре. По крайней мере удавалось работать с линтером через кутешный драйвер для постгре. Тестировал не я, и ребята проверили только базовые запросы - crete, select, insert, drop. Без каких либо извращений.


Название: О ЛИНТЕР ВС 6
Отправлено: Примерный ученик от Февраль 28, 2008, 09:57
Кстати, а никто не знает, где Линтер ВС найти?..
Вот здесь http://www.linter.ru/main_rus.php
Это скорее всего не тот Линтер ВС, который спрашивают.
Скорее всего, имеется ввиду Линтер ВС, под названием которого наши продают PostgreSQL. Если так, то нигде, они его продают, и ничего никому не дают просто так, а исходники вообще зажали.

ЛИНТЕР ВС-6.0 - это PostgreSQL 7.4.1
Эти деятели только якобы Администратора своего сделали.
RPM даже не переименовывали

P.S. Проверена нормальная работа с ЛИНТЕР ВС - 6.0.
Сервер работал на машине с МСВС.
Доступ осуществлялся с машины под управлением Windows XP
c установленным PostgreSQL 8.1. Обращение осуществлялось
как с pgAdmin III, так и с приложения, разработанного на Delphi-7 по технологии dbExpress.
Проблемм небыло.


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: kraven от Апрель 24, 2010, 17:57
у кого-нить есть простенький исходник как связаться с базой в ЛИНТЕР-ВС ?  очень нужно разобраться


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: Примерный ученик от Май 05, 2010, 09:14
у кого-нить есть простенький исходник как связаться с базой в ЛИНТЕР-ВС ?  очень нужно разобраться
Откуда связаться? QT?
 ???


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: kraven от Май 09, 2010, 12:34
у кого-нить есть простенький исходник как связаться с базой в ЛИНТЕР-ВС ?  очень нужно разобраться
Откуда связаться? QT?
 ???
да, какой-нить простенький исходник или мануал

программка связывает с БД и что-нить делает


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: Примерный ученик от Май 12, 2010, 15:32
Код:
QString MyDB;		// имя БД
QString MyServer;   // сервер с БД
QString MyPort; // порт клиента
QString MyUser; // пользователь
QString MyPass; // пароль

QSqlDatabase* MyPSQL;  // наша БД



//-------------------------------------------------------------------------------
//  подключение к БД
//-------------------------------------------------------------------------------
void mainForm::connectionSlot()
{
    MyDB="test";
MyServer="localhost";
MyPort="5432";
MyUser="postgres";
MyPass="12345678";
MyPSQL = QSqlDatabase::addDatabase("QPSQL7");
if (MyPSQL)
{
MyPSQL->setDatabaseName(MyDB);
MyPSQL->setHostName(MyServer);
MyPSQL->setUserName(MyUser);
MyPSQL->setPassword(MyPass);
MyPSQL->setPort(MyPort.toInt());
}
else
{
   MyPath=MyPSQL->lastError().databaseText();
   QMessageBox::critical( this, "ERROR","Ошибка подключения к БД\n"+MyPath);
       exit(-1);
}
if (MyPSQL->open())
{
                  MyDB="Подключилиcь к : "+MyDB;
  mainForm::setCaption(MyDB);
}
}


//-------------------------------------------------------------------------------
//  отключение от БД
//-------------------------------------------------------------------------------
void mainForm::disconnectionSlot()
{
MyPSQL->close();
}


Название: Re: QT 3.3.3 и PostgreSQL 7.0.2
Отправлено: kraven от Май 15, 2010, 11:49
спасибо