powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / borland c++ builder 6 & postgresql
21 сообщений из 21, страница 1 из 1
borland c++ builder 6 & postgresql
    #33519470
bix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bix
Гость
Приветствую всех!
Ситуация такая, взял типовой пример разработки приложения для работы с бд. Этот пример четко описан в книге borland c++ builder 6. Создал я это приложение, бд создал сам на удаленном сервере, кодировка бд вин1251. Проблема вот в чем, вносить данные я могу только латинскими буквами, а русскими не могу, вылезает сообщение об ошибке.
key violation.
error: syntax error at on near at character 62.

я естессно в этом деле новичок и мне не понятно, как можно отображать русские буквы нормально в таблице, а писать нельзя. Может кто сталкивался с похожей проблемой и сможет мне помочь.
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #33519492
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bixПриветствую всех!
Ситуация такая, взял типовой пример разработки приложения для работы с бд. Этот пример четко описан в книге borland c++ builder 6. Создал я это приложение, бд создал сам на удаленном сервере, кодировка бд вин1251. Проблема вот в чем, вносить данные я могу только латинскими буквами, а русскими не могу, вылезает сообщение об ошибке.
key violation.
error: syntax error at on near at character 62.

я естессно в этом деле новичок и мне не понятно, как можно отображать русские буквы нормально в таблице, а писать нельзя. Может кто сталкивался с похожей проблемой и сможет мне помочь.
А структуру БД можно в студию? Может PK назначен строкой, может еще чего.
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #33519554
bix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bix
Гость
project=# \dt;
Список связей
Схема | Имя | Тип | Владелец
--------+-------+---------+----------
public | phone | таблица | user
(записей: 2)

project=# \d phone;
Таблица "public.phone"
Колонка | Тип | Модификаторы
-----------+-----------------------+--------------
citynum | character varying(10) |
extnumber | character varying(3) |
people | character varying(35) |
post | character varying(45) |
Индексы:
"phone_people" btree (people)
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #33519900
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bixproject=# \dt;
Список связей
Схема | Имя | Тип | Владелец
--------+-------+---------+----------
public | phone | таблица | user
(записей: 2)

project=# \d phone;
Таблица "public.phone"
Колонка | Тип | Модификаторы
-----------+-----------------------+--------------
citynum | character varying(10) |
extnumber | character varying(3) |
people | character varying(35) |
post | character varying(45) |
Индексы:
"phone_people" btree (people)
Есть предложение создать колонку id типа serial.
Кстати а есть лы скрипт генерации таблицы?
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #33519935
bix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bix
Гость
а чем колонка id может помочь? да скрипт есть.
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #33520069
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bixа чем колонка id может помочь? да скрипт есть.
Я просто подумал что это мог быть primary key violation, судя по всему это не так.
Перечитал топик повилось еще кучка вопросов:
1. key violation - согласно документации - это бывает только FOREIGN KEY VIOLATION, т.е. Integrity Constraint Violation.
Это значит что есть еще таблички.
2. Немного подробнее про подключение к СУБД, компоненты доступа, драйвера, и версии всего этого хозяйства.
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #33520103
bix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bix
Гость
postgresql 7.4.8
borland c++ builder 6.0 build 10.157
odbc 8.00.00.04

компонеты borland
DBGrid
DBNavigator
DataSource
Table
все компонеты стандартные

какие еще данные предоставить?
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #33520281
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bixpostgresql 7.4.8
borland c++ builder 6.0 build 10.157
odbc 8.00.00.04

компонеты borland
DBGrid
DBNavigator
DataSource
Table
все компонеты стандартные

какие еще данные предоставить?
Надеюсь доступ через ADO?
Я проверил у меня все прекрастно работает. Правда postgres 8.1.
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #33521225
bix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bix
Гость
нет ADO я не использовал, только BDE
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #33521849
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bixнет ADO я не использовал, только BDE
Стоит посмотреть в сторону ADO. Мало того, что у BDE есть проблемы,
так оно еще и не очень быстро.
ИМХО для Делфей/билдера лучший вариант TADOConection + TADOQuery.
TADOTable.
А TADOConnection - вешать на ODBC дравер для OLE DB + Postgres ODBC.
Или смотреть в сторону нативных компонент - или DAC или Zeos.
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #33522802
bix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bix
Гость
использовал я ваш совет и у меня тоже программа заработала. Одна как для работы на другой машине моя программа требует наличия одбс драйверов. Я правильно понимаю, что нужно устанавливать postgresql odbc драйвер?
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #33522819
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bixиспользовал я ваш совет и у меня тоже программа заработала. Одна как для работы на другой машине моя программа требует наличия одбс драйверов. Я правильно понимаю, что нужно устанавливать postgresql odbc драйвер?
Да. Он есть в нескольких так сказать ипостасях:
1. Встроен в PostgreSQL инсталлятор. При установке СУБД ставится и драйвер
2. Как отдельная msi
3. Как сырцы
4. Как merge module.
В общем - можно ставить как угодно :)
http://www.postgresql.org/ftp/odbc/versions/
http://pgfoundry.org/frs/?group_id=1000125
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #33522918
bix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bix
Гость
странно, поставил я msi пакет, в списке драйверов у меня возниклт сразу два драйвера. postgresql ansi postgresql и unicode, у меня же просто postgresql. ладно пробую использовать установленный драйвер, но программа не работает, опять таки про причине отсутствия драйверов.
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #33522937
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bixстранно, поставил я msi пакет, в списке драйверов у меня возниклт сразу два драйвера. postgresql ansi postgresql и unicode, у меня же просто postgresql. ладно пробую использовать установленный драйвер, но программа не работает, опять таки про причине отсутствия драйверов.
Продолжаем разговор.
В версии 8.0 драйвер был единый - для юникода и для ANSI. Из-за множественных глюков их теперь опять два :(.
Указывать нужно один из них. Я в своей программе делаю динамическую строку подключения, и там уже приписываю в зависимости от версии драйвера.
Впрочем перешел в последне версии на ANSI и успокоился.
А не находит драйвер потомучто имя у него другое истщит PostgreSQL, а есть PostgreSQL ANSI.
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #33522993
bix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bix
Гость
уффф.... заработало.....!!!!!!!!!!! ПАСИБО!!!!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
borland c++ builder 6 & postgresql
    #35431678
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey Daeron bixнет ADO я не использовал, только BDE
Стоит посмотреть в сторону ADO. Мало того, что у BDE есть проблемы,
так оно еще и не очень быстро.
ИМХО для Делфей/билдера лучший вариант TADOConection + TADOQuery.
TADOTable.
А TADOConnection - вешать на ODBC дравер для OLE DB + Postgres ODBC.
Или смотреть в сторону нативных компонент - или DAC или Zeos.


так при ADO все равно прикручиваться надо к альясу в BDE
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #35431693
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sputnick[quot Andrey Daeron]
так при ADO все равно прикручиваться надо к альясу в BDE
Зачем?
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #35431702
SeniorAndre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не.. к яльясу ODBC
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #35431709
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeniorAndreне.. к яльясу ODBC
Зачем?
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #35431828
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey Daeron Sputnick[quot Andrey Daeron]
так при ADO все равно прикручиваться надо к альясу в BDE
Зачем?

строю строку подключения в адо:
в поставщиках данных выбираю OLE DB privider for ODBC driver, далее, использовать имя источника данных (альяс) и выбираем наш альяс.

я правильно делаю? Такой вариан предпочтительней чем BDE только отсутствием глюков и наличием ысокой скорости?
...
Рейтинг: 0 / 0
borland c++ builder 6 & postgresql
    #35431903
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sputnick Andrey Daeron Sputnick[quot Andrey Daeron]
так при ADO все равно прикручиваться надо к альясу в BDE
Зачем?

строю строку подключения в адо:
в поставщиках данных выбираю OLE DB privider for ODBC driver, далее, использовать имя источника данных (альяс) и выбираем наш альяс.

я правильно делаю? Такой вариан предпочтительней чем BDE только отсутствием глюков и наличием ысокой скорости?

Не, нафик нужно. Пишем примерно так, пароли и явки по вкусу:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
  s:='Provider=MSDASQL;Password='+pwd+
       ';Persist Security Info=True;User ID='+login+
       ';Extended Properties="DRIVER={PostgreSQL ANSI};DATABASE='+Database+
       ';SERVER='+sip+
       ';PORT='+IntTostr(port)+
       ';UID='+login+
       ';PWD='+pwd+
       ';ReadOnly=0;Protocol=6.4;FakeOidIndex=0;ShowOidColumn=0;'+
       'RowVersioning=0;ShowSystemTables=0;ConnSettings=;Fetch=100;'+
       'Socket=8192;UnknownSizes=0;MaxVarcharSize=254;MaxLongVarcharSize=8100;'+
       'Debug=0;CommLog=0;Optimizer=0;Ksqo=1;UseDeclareFetch=0;TextAsLongVarchar=1;'+
       'UnknownsAsLongVarchar=0;BoolsAsChar=0;Parse=0;CancelAsFreeStmt=0;'+
       'ExtraSysTablePrefixes=dd_;LFConversion=1;UpdatableCursors=0;'+
       'DisallowPremature=0;TrueIsMinus1=0;BI=0;ByteaAsLongVarBinary=1;'+
       'UseServerSidePrepare=0"';
   result:=s;
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / borland c++ builder 6 & postgresql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]