Имя: Пароль:
1C
1С v8
Прямые запросы к postgresql
0 mgluhov
 
29.05.14
10:37
Всем привет! Необходимо прямым запросом получить данные из postgresql 9.2.

Подключаюсь к базе так:

cnn = Новый COMОбъект("ADODB.Connection");
        Сервер="myServer";
        База="test";
        User="admin";
        Pass="123";
        Driver="{PostgreSQL Unicode}";
        Charset="win1251";
        СтрокаСоединения="Driver="+Driver+";Server="+Сервер+";Port=5432;Database="+База+";Uid="+User+";Pwd="+Pass+";ClientCharset="+Charset+";STMT="+Charset+";";
        cnn.connectionString = СтрокаСоединения;
  
        cnn.Open();  
        if cnn.State()=0 then
            Сообщить("Не удалось соединиться с сервером");
            cnn = 0;
            Возврат Ложь;
        endif;

Потом устанавливаю кодировки:

cnn.Execute("set client_encoding to 'win1251'");    cnn.Execute("set names 'win1251'");

Потом делаю запрос:

cnn.Execute("SELECT ШиротаКонца, ДолготаКонца FROM УчасткиДвижения");(да, колонки и таблицы разработчики назвали русскими буквами...)

На что он мне отвечает:

неверная последовательность байт для кодировки "UTF8": 0xf0 0xa0 0xf0 0x88;

Что еще можно сделать с кодировками, по моему установил уже везде где можно... ?
1 mgluhov
 
29.05.14
10:44
UP
2 andreymongol82
 
29.05.14
10:46
(1) Ну вроде же написал, "что неверная последовательность байт для кодировки "UTF8"", зачем тогда вот эту "'win1251" кодировку устанавливать?
3 mgluhov
 
29.05.14
10:48
При кодировке utf8 выдает следующее:

РћРЁР?БКА: отношение "рјс‡р°сѓс‚рєрёр”рірёр¶рµрѕрёсџ" РЅРµ существует;