powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / delphi
13 сообщений из 13, страница 1 из 1
delphi
    #32882617
какой компонент лучше использовать для связи с постгресом?
...
Рейтинг: 0 / 0
delphi
    #32883069
AlWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zeos
...
Рейтинг: 0 / 0
delphi
    #32883684
зеос почемуто плохо работает с массивами из постгреса
почему то если делаеш select то 2 масива вытащить не реально
...
Рейтинг: 0 / 0
delphi
    #32884686
AlWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну а другой альтернативы из шаровых компонентов более менее нормальных не видел, через ОДБС глючно и медленно, ну или нативный доступ к постгресу
...
Рейтинг: 0 / 0
delphi
    #32884893
Vlado
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Откомпиленная C++Builder'ом из исходников постгреса родная либа libpq
работает как часы в сделанных C++Builder'ом программах.

Прикручивать эту либу на delphi не пытался, так как давно слинял с него на Builder.
...
Рейтинг: 0 / 0
delphi
    #32884907
AlWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VladoОткомпиленная C++Builder'ом из исходников постгреса родная либа libpq
работает как часы в сделанных C++Builder'ом программах.

Прикручивать эту либу на delphi не пытался, так как давно слинял с него на Builder.

Если не сильно трудно - поделись опытом !!!
И где документацию по ней взять???
...
Рейтинг: 0 / 0
delphi
    #32885025
Vlado
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Слил исходники, например postgresql-8.0.0.tar.bz2,
развернул архив в линуксе, перенес каталог на виндовый раздел.
В исходниках есть файлики bcc32.mak специально для борландовского компилятора, но только для libpq и psql.
Из-под виндов откомпилил их как в них самих написано и вуаля.

Кстати, эти bcc32.mak из версии 8.0.0 сразу не заработали.
Пришлось их подправлять ручками глядя на таковые из версии 7.4.6,
нормально работающие.

Документация по libpq входит в стандартную документацию постгреса.
Например, ставишь PostgreSQL 8.0 for Windows и имеешь все доки
в виде HTML. Или сливаешь отдельно.
...
Рейтинг: 0 / 0
delphi
    #32885154
AlWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VladoСлил исходники, например postgresql-8.0.0.tar.bz2,
развернул архив в линуксе, перенес каталог на виндовый раздел.
В исходниках есть файлики bcc32.mak специально для борландовского компилятора, но только для libpq и psql.
Из-под виндов откомпилил их как в них самих написано и вуаля.

Кстати, эти bcc32.mak из версии 8.0.0 сразу не заработали.
Пришлось их подправлять ручками глядя на таковые из версии 7.4.6,
нормально работающие.

Документация по libpq входит в стандартную документацию постгреса.
Например, ставишь PostgreSQL 8.0 for Windows и имеешь все доки
в виде HTML. Или сливаешь отдельно.

Fatal: '"D:\postgresql-8.0.0\src\interfaces\libpq\Release\win32.obj"' does not exist - don't know how to make it
...
Рейтинг: 0 / 0
delphi
    #32885194
Vlado
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
О чем и разговор :)

После
Код: plaintext
LINK32_OBJS= "$(INTDIR)\libpqdll.obj"
и перед
Код: plaintext
ALL: config "$(OUTDIR)" "$(OUTDIR)\blibpq.dll" "$(OUTDIR)\blibpq.lib"
вставляешь такую лабуду:
Код: plaintext
1.
2.
.path.obj = $(INTDIR)
.path.c = .;..\..\port;..\..\backend\libpq;..\..\backend\lib;..\..\backend\utils\mb
Кроме того, в том же месте где и bcc32.mak сам делаешь файлик pg_config_paths.h такого содержания:
Код: plaintext
#define SYSCONFDIR ""
Удачи!
...
Рейтинг: 0 / 0
delphi
    #32885319
AlWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получил такое:

blibpq.dll
blibpqdll.lib
blibpq.lib

Если не ошибаюсь большего и не надо. Спасибо!!!!!!!!!!!!
...
Рейтинг: 0 / 0
delphi
    #32885369
Vlado
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На здоровье.
Мне хватает одной blibpq.lib :)
...
Рейтинг: 0 / 0
delphi
    #32885552
AlWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нативе доступ - форева!!! Пашет как часики!
...
Рейтинг: 0 / 0
delphi
    #32885999
фффф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
гарипов азатзеос почемуто плохо работает с массивами из постгреса
почему то если делаеш select то 2 масива вытащить не реально
Мне удалось заставить zeosdbo-6.1.5-stable работать с массивами и составными типами, но только путем правки исходников и только как со строками.
В dbc/ZDbcPostgreSqlUtils.pas добавил в PostgreSQLToSQLType()
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
	 else   if  (TypeName = 'int2vector')  or  (TypeName = 'oidvector')
		 or  (TypeName = '_aclitem')  then 
		Result := stAsciiStream
 //++++++++++++ 
 //у всех массивов внутреннее имя типа начинается с подчеркивания 
	 else   if  Copy(TypeName,  1 ,  1 ) = '_'  then 
		Result := stString
 //------------ 
	 else 
		Result := stUnknown;
Для определения составных типов заменил запрос, возвращающий список типов из базы в ZDbcPostgreSql.TZPostgreSQLConnection.GetTypeNameByOid()
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
 //++++++++++++ 
 //SQL := 'SELECT oid, typname, typbasetype FROM pg_type' 
 //	+ ' WHERE oid<10000 OR typbasetype<>0 ORDER BY oid'; 
 //включил все составные (composite) типы, потом будут приведены к строке	 
  SQL := 'SELECT oid, '
    + 'CASE WHEN typrelid = 0 THEN '''' ELSE ''_'' END || typname AS typname,'
    + 'typbasetype FROM pg_type'
    + ' WHERE oid<10000 OR typbasetype<>0 OR typrelid<>0 ORDER BY oid';
 //----------- 
Грубо, но работает.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / delphi
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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