чтение файла DB #723959


#0 by rt2000
Подскажите пожалуйста, никак не могу найти как должно происходить чтение файла "db" (не dbf). Интернет облазил, ничего не нашел, нашел только две строчки на форуме, но и они не работают. Можете привести пример, как 1с читает db файл
#1 by spectre1978
Хм, для начала недурно бы понять что за файл. Paradox?
#2 by roman844
пробуй ЭКСЕЛЬ
#3 by roman844
это Paradox. Я не давно данные переносил из Инфо-бухгалтера, так экселем их открывал.
#4 by spectre1978
Если это Paradox DB, то можно попробовать связку ADO-провайдер ODBC-драйвер Paradox для ODBC
#5 by spectre1978
ну или вариант
#6 by spectre1978
по расширению не всегда можно ориентироваться. Мы не знаем точно, откуда переносится инфа, и под расширением DB вполне может оказаться что-то самопальное...
#7 by roman844
согласен
#8 by rt2000
в файле db хранится таблица. Excel, -думаю это не то
#9 by spectre1978
почему? Если файл парадоксовский, то Excel может его открыть
#10 by rt2000
пробовал через Excel, вообще никакой реакции. Мне нужно не открыть файл, а прочитать его, нужен образец кода
#11 by spectre1978
сигнатуру файла можешь посмотреть? Какие байты вначале?
#12 by rt2000
#13 by spectre1978
По-моему, это парадоксовский файлик. Сейчас посмотрим...
#14 by roman844
у меня запрашивает пароль
#15 by rt2000
нету никакого пароля, даже не знаю от куда он взялся. Если это парадоксовский файл, то как его правильно прочитать?
#16 by spectre1978
хм... драйвер видит таблю User, но при попытке открытия непредвиденная ошибка базы данных 11010. Возможно, нет какого-нть индексного файла или чего-то наподобие
#17 by spectre1978
Вау!
#18 by roman844
MS VISUAL FOXPRO, только посмотреть
#19 by spectre1978
Попытался сформировать строку из , опять-таки - таблицу видит, но данные не извлекает. Чего-то не хватает, скорее всего индексов.
#20 by spectre1978
есть еще какие-то файлы User.* ?
#21 by spectre1978
в описано, как формировать Paradox- строку соединения для провайдера Jet. Если есть желание - пробуйте самостоятельно, у вас база целиком есть.
#22 by rt2000
файлов больше нету. А если бы были? То мне придется их одновременно читать или как?
#23 by spectre1978
вообще у парадокса обычно для одной таблицы есть файл данных и несколько вспомогательных с тем же именем но другими расширениями - PX, MB... Когда обращаешься к базе, как правило, нужно указывать папку со всеми этими файлами, после чего становится возможным обращаться к отдельным таблицам. Это я собираю в кучку все что я помню по вопросу. Последний раз с парадоксом воевал лет 12 назад.
#24 by spectre1978
когда я обратился через драйвер к папке, где лежит твой файл, мне удалось увидеть таблицу USER, но не удалось увидеть поля в ней, а при попытке исполнить SELECT * from USER я получил ошибку синтаксиса в предложении FROM. Это скорее всего может означать либо разрушенный/непарадоксовский файл, либо отсутствие требуемых дополнительных файлов (индексных и т.п.) в каталоге. Нужно понять в чем проблема.
#25 by Woldemar22LR
Знакомый кодил на Btrieve обзывал расширением *.db Я тоже :) Файл слегка смахивает на Btrieve файл. Запись на поля делит прикладная программа.
#26 by Woldemar22LR
чем прочитать -ищи ddf btrieve editor belov
#27 by Woldemar22LR
утром проснулся вспомнил - как вариант это еще может быть файл клариона. найди pervasive попробуй им открыть файл.
#28 by rt2000
pervasive - это программа для открытия таблиц?
#29 by ASV
в обычном редакторе открой файл. дальше заменой убери лишнее. там все то 100 записей
#30 by Woldemar22LR
Pervasive.SQL купил Btrieve у новелла и на его основе сделал sql - там есть инструмент для просмотра файлов btrieve, файлы клариона это по сути тоже btrieve. + много :)))
#31 by ASV
получается там две таблицы 1.ID    Code    Name    Text     2. ProfileID    Password    Card    Finger
#32 by spectre1978
мне все-таки кажется что парадоксовский файл. Обратите внимание на строку ancyrr в заголовке - таким образом у парадокса кодируется поддержка кириллицы (как вариант там может быть ascii и другое подобное). Вопрос только, почему его джет не кушает.
#33 by ASV
файл возможно не весь. последняя строчка не полная
#34 by spectre1978
Попытался открыть через BDE - получил более информативное сообщение: BLOB file not found or corrupt. Открыл в рид-онли. Получил список полей. При попытке открыть таблицу BDE запросил файлики: USER.PX USER.MB Так что мой первоначальный диагноз был верным.
#35 by gae
Мы брали vfpoledb.dll Потом через ADO читали, писали. Вот куски кода: ----------------- ... --------------- ... ...
#36 by rt2000
если пробовать строчки: то сначала появится таблица, с запросом пароля, а потом будет ошибка
#37 by spectre1978
файл все-таки парадоксовский, вот список полей из билдера: но чтобы зачитать данные, нужны все файлы. одного DB недостаточно
#38 by spectre1978
либо, если по какой-то причине этого нет - может быть, возможно восстановить индексы в Database Desktop. У меня он, к сожалению, не установлен потому что был не нужен. Если актуально, то могу позаморачиваться
#39 by spectre1978
последнее поле - Finger - это блоб. Блобы у парадокса хранятся в отдельных (!) файлах
#40 by rt2000
finger -это поле не нужно. попробовал так: Выводит "нет" информации об ошибке нет
#41 by ASV
Database Desktop открыл в read-only
#42 by spectre1978
если других файлов действительно нет (в чем я не уверен), то вряд ли вы сможете открыть чем-либо кроме Database Desktop. Потому что база по сути повреждена - нет части данных.
#43 by spectre1978
там нет функционала, который позволил бы восстановить индексы? Я уж и позабыл как с ним работать...
#44 by rt2000
скажи, я немного не понимаю. У меня база открывается через Database Tour Pro. Открывается таблица и могу посмотреть таблицу. А как в 1с открыть, при помощи Database Desktop?
#45 by Woldemar22LR
ты чего то не договариваешь? :)))
#46 by spectre1978
Database Desktop - это не через 1С. Это просто самостоятельная программа. Дело в том что парадоксовская база содержит не один файл на таблицу, а несколько, а прислан только один. Соответственно, база с точки зрения парадокса - повреждена и просто так открыть ее не получится. И мы тут пытаемся открыть хоть как-то. Понятно?
#47 by rt2000
Насчет файлов вы были правы, только что спросил. Их 5 шт: DB, MB, XGO, PX, YGO и как мне сразу с пятьми файлами работать
#48 by rt2000
таблицу открыть я могу через Database Tour Pro, мне видны значения полей, а в 1с нет
#49 by Woldemar22LR
ну ты и партизан.... Так как тебе сказали в На допросе давно был? :))))
#50 by rt2000
извиняюсь. Вчера дали один файл, сегодня по другому спросил, дали 5 файлов
#51 by spectre1978
ну вот теперь пробуй через 1С со строкой соединения, как написано в . В Data source указывай папку с файлами, в Extended Properties Paradox 7.x. Возможно, получится.
#52 by spectre1978
+ или можно попробовать как в , но вариант из мне нравится больше - это гораздо проще
#53 by rt2000
в написано: Provider=Microsoft.Jet.OLEDB.4.0;     Data Source=C:Program FilesBDBase;     Extended Properties=Paradox 7.x;     Persist Security Info = True; Можете подсказать, что значит этот код?
#54 by gae
это строка подключения. путь где таблицы лежат, режим, прочие настройки
#55 by rt2000
Ошибка в служебном сообщении: Неопознанный оператор     СтрокаПодключения= Provider=Microsoft.Jet.OLEDB<<?>>.4.0;Data Source=Путь;Mode =Read|Write|Share Deny None;Extended Properties=Paradox 7.x;Persist Security Info = True; (Проверка: Сервер)
#56 by КонецЕсли
Чего-то наподобие? Файл можно как обычный TXT сделать (убрать заголовок). Поля имеют фикс. длину. Легко распарсить. Только потом часть полей из текстового вида преобразовать обратно в коды с помощью КодСимвола а потом в десятичный вид. З.ы. надо только узнать про байт 0x80 несёт в себе данные или просто разграничитель полей.
#57 by gae
а ковычки где?
#58 by rt2000
не понимаю какие кавычки? Куда их ставить, поставлю в одном месте, в другом будет ошибка...
#59 by silent person
СтрокаПодключения="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Путь;Mode =Read|Write|Share Deny None;Extended Properties=Paradox 7.x;Persist Security Info = True;";
#60 by silent person
всмысле СтрокаПодключения="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Путь+";Mode =Read|Write|Share Deny None;Extended Properties=Paradox 7.x;Persist Security Info = True;";
#61 by rt2000
Можно еще немного объяснить. Написал код Появляется ошибка: Произошла исключительная ситуация (ADODB.Connection); Операция не допускается, если объект закрыт. Ошибка при получении значения атрибута контекста (WorkBooks) Книга = Акцесс.WorkBooks.Open(Путь);
#62 by silent person
WorkBooks ? O_o   ты же не через Excel файлы открываешь.
#63 by rt2000
через Excel тоже пробовал
#64 by Looser-1c
А теперь попробуй об стенку с разбегу.
#65 by silent person
а пароль на базу не надо никакой ?
#66 by rt2000
а где его надо написать? Есть пароли для пользователей, т.е. надо указать пользователя и его пароль?
#67 by silent person
у меня строка подключения была такая но мне сразу сказали что jIGGAe - это технический пароль на базы paradox
#68 by gae
ставь не в одном месте, а в двух :)
#69 by spectre1978
, да, с таким пониманием технологий тяжело, наверно, работать...
#70 by Woldemar22LR
не знаю как ты я уже тупо пью, я теперь понимаю почему темы пятницы перестали создавать. Потому что ближе к пятнице во всех темах начинается сплошная пятница.
#71 by Torquader
Я, помнится, писал на сях читалку Paradox, чтобы восстановить файл с данными, только потом умная читалка показала, что в середине файла вместо данных одни 0xFF - после этого очень не люблю этот Paradox.
#72 by Стальная Крыса
Читал тему - смешно :) Автор, по-ходу, и в 1С немного понимает, а ещё взялся из 1С сторонними продуктами пользоваться. куды мир катится...
#73 by spectre1978
Много лет назад я пользовался парадоксовскими базами, используя BDE (Borland Database Engine). Для совсем небольших объемов сойдет, когда речь начинает идти о десятках мегабайт - начинает барахлить даже локально: появляются висячие внешние ключи, дубликаты PK и прочая гадость. А уж по сети и говорить нечего. В результате отказался от него. А так, в принципе, сделать импорт данных никаких проблем - дельфю в руки и вперед.
#74 by spectre1978
+ починялки файлов какие-то были, точно помню
#75 by Torquader
Если середину файла затёрло из-за ошибки на диске, то нет смысла такой файл восстанавливать.
#76 by spectre1978
почему? У меня был случай когда файл проводок в семерке покрячило в середине из-за плохого сектора. Ничего, взял бэкапный и из него пару килобайт вклеил по смещению, потом ТИИ - и все нормально...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С