Форум: "Базы";
Текущий архив: 2003.06.16;
Скачать: [xml.tar.bz2];
ВнизBtrieve и Delphi Найти похожие ветки
← →
kalishenko (2003-04-29 20:16) [0]Если кто-то знает, как работать с Btrieve-базами помогите живими примерами.
← →
kalishenko (2003-04-30 14:24) [1]Неужели никто не сталкивался с Btriev-ом. Мне бы хотя бы найти BtrConst.pas
← →
sniknik (2003-04-30 15:11) [2]какой? у меня их 3 штуки отыскалось. запостю пожалуй самый маленький. :о) (живой пример открытия тавлицы Table1.Open;) правда помогло? :о))
(*****************************************************************************)
(* MODULE: BTRCONST* *)
(* RIGHTS: Reggatta Systems - COPYRIGHT 1995 - 1999 *)
(* DESCR.: This module contains text constant definitions *)
(*****************************************************************************)
Unit BtrConst;
{$I BSE.INC}
{$I BAPI.INC}
Interface
Const
BTRIEVE_DRIVER_DESC = "BTRIEVE";
BAPI_BTRIEVE_SECTION = "Btrieve Client";
BAPI_BTRIEVE_OPTIONS = "Options";
BAPI_DLL_NAME = "DLLName";
BAPI_ERROR_TEXT = "Btrieve Status %d - %s";
SSQL_ERROR_TEXT = "Scalable SQL Status %d - %s";
BAPI_UNKNOWN_ERROR = "Btrieve Error %d.";
BAPI_CANT_LOAD_BTRIEVE : PChar = "Btrieve Library WBTRCALL.DLL not Found";
BAPI_OWNER_TOKEN : PChar = ";OWNER:";
SSQL_DB_PREFIX = "@";
SSQL_LOCAL_TYPE = "LOCAL";
SSQL_REMOTE_TYPE = "REMOTE";
BAPI_INTL_SECTION = "Intl";
BAPI_ANSIOEM_FLAG = "IgnoreAnsiOem";
BAPI_OEMANSI_FLAG = "IgnoreOemAnsi";
BAPI_FIELD_SECTION = "Fields";
BAPI_READ_FIELD_FLAG = "Read";
BAPI_WRITE_FIELD_FLAG = "Write";
BAPI_SMALLINTASBYTE = "SmallIntAsByte";
BAPI_STRING_PAD_SPACES = "StringPaddedSpaces";
BAPI_RETURN_INTS_FLAG = "IntegersShowAsZero";
BAPI_IGNORE_SQL_DBS = "IgnoreSQLDatabases";
BAPI_RECORD_SECTION = "Records";
BAPI_TRUERECORDCOUNT = "TrueRecordCount";
BAPI_RESOURCE_TOKEN : PChar = ";RES:";
BTR_IMAGE_TOKEN = "111";
BTR_BINARY_TOKEN = "222";
Implementation
end.
а если серьезно, сходи на сайт http://www.pervasive.com/ может чего и отыщеш (это как искать будеш). ну и поищи на яндексе по Titan, Btrieve. на Torry тоже посмотри.
← →
kaa1971 (2003-05-03 14:46) [3]Сталкивался. Если за выходные не найдешь - свисти.
У меня завалялись кой-какие компоненты, поищу на работе...
← →
kalishenko (2003-05-05 21:00) [4]На http://www.pervasive.com/ выкладывают половинчатые проекты, которые нужно переделывать (кроме того чего-то не договаривают). Главное, нашел проект, который по их словам показывает работу с таблицами. Так прикол в том, что проект был расчитан еще на Delphi3, и требует еще не поставляемой с проектом библиотеки. Так что, братцы, помогайте, чем можете.
А насчет компонент, это интересно...
А во еще вопрос: Чей это формат баз - *.dta (это ведь тоже Btrieve или нет?) и *.dat.
← →
sniknik (2003-05-05 23:57) [5]расширение может ни о чем говорить (или нет не так, расширение ни о чем сказать не может, определенно).
у меня в одной базе Btrieve встречаются расширения Btr, New, Old, $$$. - о чем сказ? да ни о чем. (кроме того что можно любое поставить)
насчет сайта странно, я оттуда много чего скачал и многому научился. но работал в основном с Pervasive сервером 7.0 (есть уже 2000) и (недолго) с пакетом Titan Btrieve.
но ладно не нашол так не нашол вышлю пару компонент(?)пакетов, незнаю до них руки не дошли сам будеш разбиратся, они бесплатные (в отличии от Pervasive/Titan) и что немаловажно мелкого размера в отличие от ... (/). хотя мог бы и сам поискать, честно говоря, их немало.
← →
kalishenko (2003-05-06 15:06) [6]Спасибо, буду разбираться.
← →
KAA1971 (2003-05-06 22:33) [7]У меня Btrieve (Pervasive 2000) работает с 2 расширениями:
- *.dat - базы данных и *.ddf - файлы описаний структуры dat-ов.
Хотя у тебя может быть (и скорее всего) по-другому, тогда мои компоненты вряд ли помогут.
← →
sniknik (2003-05-07 00:16) [8]KAA1971 © (06.05.03 22:33)
в том то и дело что запросто будет "по-другому".
открой DDF Easy в нем базу, и попытайся добавить этой базе таблицу, будет "Table Name" и "Table Location" вот у этого местарасположения броуз какие расширения открывает? (у меня семерка может не сойтись) btr,dat,dta,mkd - но самое показательное что там по умолчанию стоит - Any Files (*.*) - т.е. фактически что бог на душу положит. А ведь ето именно имя таблици в "миру" то есть то каким файлом ее система видеть будет. И никакой уверенности что какая нибудь база другого типа так же не поступает.
ddf кстати не обязателен, структуру можно в код "вшить", с помощью Titan-а, довольно легко (у него там утилита была, формировала вставки в код (но толком уже не помню, у нас титан только под 5дельфи был и естественно как перешли на 6е его забросили, ну не покупать же, тем более что в основном уже через ODBC драйвера от первасвиля работа шла, в итоге давно это было...:-))
← →
Sergant (2003-05-07 07:45) [9]Есть неплохой компонент FreeBtrieve, который позволяет работать с базами Btrieve. У меня он спокойно открывает базы RS-Bank и RS-Retail. Единственный недостаток - компонент давно не развивается и в нем нет возможности фильтрации.
← →
snake1977 (2003-05-07 09:30) [10]Найди ковертер Btrive->DDF
а так же ,ODBC драйвера для бетрива и используй соединение через BDE к ODBC
у меня работает нормально, можно выполнять полнофункциональные SQL запросы и прочее
единственный косяк, замеченный мною, это надо в настройках алиаса в BDE настроить RowSetSize=1 иначе при выполнении TDataSet.Open будет происходить групировка базы (почему до сих пор так и не понял ;) )
← →
Роман Василенко (2003-05-07 09:34) [11]Сходи на http://www.kylecordes.com/bag
← →
kir68 (2003-05-07 10:43) [12]На www.pervasive.com к 2000i pervasiv-у (к Btriev-у в том числе) есть компоненты PDAC, есть SDK c развитым API. Компонеты удобные, точно такие же как и BDE-шные TTable и tQuery. API тоже доступный. Если чего будет не понятно пиши.
← →
snake1977 (2003-05-07 10:50) [13]а вот и не совсем так , там есть для Pervasive2000 PDAC , но для ранних версий Pervasive там ничего нет :(
и если стоит просто Btrive ,без Pervasive то тоже ничего с PDAC не получится :(
← →
Евгений (2003-05-07 12:00) [14]Мы долгое время использовали продукт Titan Btrieve. Это набор компонент, позволяющий работать с таблицами Btrieve.
← →
kalishenko (2003-05-07 17:33) [15]У меня как раз тот случай, когда Pervasive стоит, но не используется напрямую (поставил в ознакомительных целях). Работаем просто с Btrieve (формат базы *.dta).
Попробовал FreeBtrieve - по-моему, чепуха (во-первых база не открылась, ругается, а во-вторых, неудобно).
Евгений
Не можешь выслать набор компонент Titan Btrieve на мыло?
← →
sniknik (2003-05-07 18:13) [16]kalishenko (07.05.03 17:33)
> Не можешь выслать набор компонент Titan Btrieve на мыло?
весельчак! ;о)) во первых 3мега во вторых платный.
> У меня как раз тот случай, когда Pervasive стоит, но не используется напрямую (поставил в ознакомительных целях). Работаем просто с Btrieve (формат базы *.dta).
тогда нафига это все? у тебя уже есть ODBC-шный драйвер (а в 2000-м и OLE DB-шный) используй их.
для коннекта через ADO строка будет вроде этой (это для ODBC, у меня семерка, OLE DB нет)
D:\zArhive\DATA - путь к базе (файлы ddf), вся структура описана в них (где лежат файлы *.dta например)
Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DRIVER={Pervasive Software ODBC-32};DATAPATH=D:\zArhive\DATA;UID=;DDFPATH=D:\zArhive\DATA;BOB=;NullEnabled=no;FeaturesUsed=yes;LoginScript=;AccessFriendly=no;DateFormat=mdy;TranslateDLL=;TranslateOption=;"
← →
kalishenko (2003-05-07 19:19) [17]Спасибо большое. Заработало (я использавал Pervasive OLE DB Provider).
← →
kalishenko (2003-05-21 21:31) [18]Возникла очередная проблема: перенос приложения на другие машины, на которых Pervasive не стоит. Как установить ODBC-шный драйвер без установки на машину Pervasive?
← →
kalishenko (2003-05-22 14:01) [19]Ау-у-у-у-у!
← →
sniknik (2003-05-22 14:18) [20]OLE DB драйвера в твоем случае это средство доступа к серверу Pervasive, если тебе к тойже базе доступится (на сервере где Pervasive) то достаточно установить драйвера (OLE DB/ODBC) на клиенте. если же ты файлы(базу) с данными с собой с машины на машину тягаеш то ты выбрал неверное средство для своей задачи. Изменяет базу именно SQL server Pervasive.
← →
kalishenko (2003-05-22 15:27) [21]>если же ты файлы(базу) с данными с собой с машины на машину тягаеш...
Нет, база общая (на сети).
>достаточно установить драйвера (OLE DB/ODBC) на клиенте.
Как это сделать?
← →
sniknik (2003-05-22 15:35) [22]инсталяция что та что другая отдельныя от сервера есть на сайте первасвиля. и в самой установке сервера есть (у меня ..\CLIENTS\ODBC\32\Setup.Exe, OLEDB нет но его в принципе в 7ке нет)
бери да устанавливай.
← →
kalishenko (2003-05-22 16:28) [23]Вроде поставил. Только вот еще вопрос: иногда пишет, что не может подключиться к базе (указывает на путь к папке с *.dta). Выдает ошибку "Btrieve Error 73". Пару раз перегружу машину - все нормально. С такой ситуацией не сталкивались?
← →
sniknik (2003-05-22 17:08) [24]не сталкивался.
но у них есть подробное описание сообщений и ошибок так хелп и называется "Status Codes And Messages" и в них же предположительно от чего и как исправить.
твое "73: The RI definition is out of sync" имеет около 10 возможных причин. смотри.
← →
kalishenko (2003-05-22 17:51) [25]В хелпе пишут, что я наверное использую одну и ту же базу на 2-х серверах. Может все дело в том, что я указал DataSource и Location одну и ту же папку? Попутно вопрос, как редактировать файлы-словари (*.ddf)& че в них пишут?
← →
Verg (2003-05-22 18:43) [26]А вообще, объясните, пожалуйста, из каких файлов состоит(может состоять) база данных BTrieve.
Что такое, например, *.btr ?
← →
sniknik (2003-05-22 20:37) [27]kalishenko (22.05.03 17:51)
> Может все дело в том, что я указал DataSource и Location одну и ту же папку?
ХЗ. мабуть быть.
>Попутно вопрос, как редактировать файлы-словари (*.ddf)& че в них пишут?
запусти на сервере (или на клиенте поставь, клиентскую часть и подключи к базе и запусти) DDF Easy там что называется самый дружественный интерфейс(междумордие по руски :о) разберешся.
Verg © (22.05.03 18:43)
> А вообще, объясните, пожалуйста, из каких файлов состоит(может состоять) база данных BTrieve.
Что такое, например, *.btr ?
в том то и дело что из любых (гдето вверху уже писал), *.btr идно из распространенных расширений файлов с данными.
← →
Verg (2003-05-23 06:44) [28]
> в том то и дело что из любых (гдето вверху уже писал), *.btr
> идно из распространенных расширений файлов с данными.
А структура таблицы (имена и типы полей) хранится в отдельных файлах (.ddf). Я правильно понимаю?
← →
DarkGreen (2003-05-23 07:16) [29]Правильно, стандартный словарь
file.ddf //Описание файлов (имена таблиц, наименование файлов и местоположение, флаги
field.ddf //Описание полей
index..ddf //Описание индексов
есть еще
attrib.ddf //Атрибуты полей (маска, дефолтные значения и т. д.
Соответственно, любой разработчик, для себя может этот словарь расширить, то бишь добавить что-то вроде
DataSource.ddf, DataSet.ddf и т.д.
Пароль для записи в эти файлы ..SC....
Вот только ручками эти файлы не стоит править, т. к. информация о структуре файла бетрива компонентами берется из словаря, и если неправильно информацию поменять, то эти компоненты потом будут весело глючить ;-)
← →
DarkGreen (2003-05-23 07:19) [30]2 kalishenko (29.04.03 20:16)
На мыло сбросил.
← →
Verg (2003-05-23 07:43) [31]Хорошо, но вот что я имею: я имею катаолог в котором после работы некоей софтины остается (ются) файлы *.btr и больше ничего.
Что это значит? Где структура таблиц БД? Или это какой-то вырожденный случай?
← →
DarkGreen (2003-05-23 07:59) [32]Возможно это временные файлы этой софтины (ну забывает она их удалять) Как это проверить, а просто:
butil - stat ИмяФайла.Btr
Если выдаст информацию а файле, значит так и есть, если заругается, то возможно, это какие-нить файлы блокировок, но они ИМХО по другому называются, что-то вроде ~PVSW~.LOC
А зачем структура таблиц? Она, как здесь уже говорилось может быть зашита в программу. Кроме того, первасиву и Btrieve"у по фиг как ты интерпритируешь данные, в словаре поле может быть описано как KT_LSTRING(32), а ты в логике программы можешь сказать, что это 8 Longint"ов, и все будет работать, т.к. для первасива важны только индексы, на буфер данных ему по большому счету плевать.
← →
Verg (2003-05-23 11:33) [33]Хм, т.е. в таком случае узнать структуру таблицы - это, по-сути, связяться с програмером софтины и узанть - "как там все?".
Зачудительно....
Буду разбираться.
Немного не по теме:
Слушайте, может это и в "потрепаться", но назовите мне N причин, по которым люди выбирают BTrieve взамен interbase, firebird, paradox, DBase наконец....
Тут "что-то" есть? Ведь не бесплатно, не просто, не стандартно.... гиммор сполшной...
Что за мотив? "Загадочное нечто, с которым только Я умею работать, потому Я такой ценный и незаменимый?". Эксклюзив, так сказать ?
← →
kalishenko (2003-05-23 14:30) [34]Че-то не могу найти DDF Easy. Не подскажете, как зовут exe-шник?
Может у меня и не должно быть этой утилитки (у меня Pervasive.SQL 2000)?
← →
sniknik (2003-05-23 14:51) [35]не знаю, 2000 видел только раз, демо(временную) версию, но вроде там все было очень похоже, и DDF Easy вроде тоже был. (может не там ишеш?)
екзешник у меня D:\PVSW\BIN\DDFTOOL.EXE
← →
DarkGreen (2003-05-23 15:33) [36]2 Verg © (23.05.03 11:33)
> Немного не по теме:
> Слушайте, может это и в "потрепаться", но назовите мне N
> причин, по которым люди выбирают BTrieve взамен interbase,
> firebird, paradox, DBase наконец....
N = 0 или N = -1 :-)
← →
DarkGreen (2003-05-23 15:37) [37]1. В поставке первасива нет DDF Easy
2. Поищите в ру-нете DDF Periscope
← →
kalishenko (2003-05-23 15:38) [38]Такого здесь нет. В хелпе написали, что DDF Easy, как и DDF Sniffer интегрированы в Pervasive Control Center. Но как им пользоваться (в плане редактирования ddf-а), я не знаю.
← →
sniknik (2003-05-23 15:49) [39]DarkGreen © (23.05.03 15:37)
как же нет в поставке, а у меня тогда откуда? ничего дополнительно не ставил только первасив сервер.
kalishenko (23.05.03 15:38)
так это наверное оно самое и есть, только названо по другому.
пользоватся легко. запускаеш, ищеш иконку открыть Database жмеш, вводиш путь DDF Path, жмеш Open Database. дальше как природа подскажет, там уже структура видна будет.
естественно у тебя будут отличия, надеюсь легкие. :о))
← →
DarkGreen (2003-05-23 16:25) [40]2 sniknik © (23.05.03 15:49)
Версия сервера какая?
Зашел в Хелп, набрал DDF Easy, не было не одной ссылки. Весия первасива: 2000i SP3
Страницы: 1 2 вся ветка
Форум: "Базы";
Текущий архив: 2003.06.16;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.007 c