Как получить данные в виде текста на русском языке из базы данных Paradox 4.5?
Paradox 4.5 и DBeaver
Всем привет недавно меня приняли в IT компанию. Мне дали тестовое задание (довольно легкое как я думал), создать приложение-таблицу которое будет выводить данные с БД "Paradox 4.5", но случилась проблема, я никак не могу отобразить эту таблицу у себя с помощью Python, DBFPlus, DBeaver, но максимум что было дак это текст в виде байт кода либо просто символов. И я ничего не могу с этим сделать, когда я лазил на форумах, я узнал что можно поменять кодировку на DBASE RUS cp866 и вроде должно все заработать, но как ее поменять я не знаю(, помогите пожалуйста кто работает в DBeaver и работал с Paradox
Тестовое задание позволяет определить в том числе и Вам, потяните ли вы эту работу. Если возникают нерешаемые проблемы на уровне тестового задания, я бы задумался, стоит ли в целом на данном этапе идти на вакансию
Наверное, стоит добавить, что, скорее всего, потенциальному работодателю на хрен не нужен результат этого тестового задания. Нужна проверка, готов ли кандидат рыть говна динозавров и обходиться без готовенького и экспресс-нагугленного. То есть работать головой.
P.S. А формат dBase, собственно, довольно примитивен. Когда мне пришлось перетащить сайт на РНР8, но при этом продолжить работать с dBase (для окаменелостей Почты России) - за полдня накидал конвертер и закрыл тему.
Влад Григорьев, а вы мальку сразу дадите рабочую задачу, чтобы сначала нужно было недельку поразбираться в проекте и документации?
"У нас на корабле этот древний ржавый якорь совершенно необходим. Его каждый юнга первый месяц начищает!"
а вы мальку сразу дадите рабочую задачу, чтобы сначала нужно было недельку поразбираться в проекте и документации?
Да, документацию нужно прочитать, да, нужно разобраться во флоу. Но если давать задачу, то нормальную рабочую, а не выдумывать никому ненужную хрень. Сперва, чтото элементарное, чтобы изучить флоу на практике. Затем посложнее, и т.д. Задачи подобного рода всегда найдутся, пусть не сильно важные, совсем не срочные, но реальные задачи, а не задачи оторванные от работы, после которых все равно придется изучать проект.
Влад Григорьев, если человек копается в доках dBase аж неделю - дальше можно не смотреть. Там примитивный бинарный формат, напоминаю. Уровня уроков по Питону.
Vitsliputsli, вот когда ТС завалит ту элементарщину, с которой сюда явился - зовите его к себе и снабжайте документацией, погружайте во флоу... и вообще, благотворительность - это похвально, конечно.
Mors Clamor, дело не в этом, когда я устраивался в эту компанию я скинул свое резюме ( в кратце: знаю C#, на базовом уровне SQL и прочяя подобная фигня). Программист с которым я общался сказал, что они работают на Python и он предложил мне за 3 дня изучить синтаксис Python и выполнить это задание, то есть в компании знают, что я нубик и с Python знаком пару дней, я и сам это понимаю, но мне дали шанс попробовать поработать и отступать я не намерен.
Перекодировать базу даже вредно - у текстовых полей задана длина, уникод ее изменит.
А так да, побайтовый разбор файла и перекодировка из СР866 в нормальную современную кодировку. Все.
Vitsliputsli, вот когда ТС завалит ту элементарщину, с которой сюда явился - зовите его к себе и снабжайте документацией, погружайте во флоу... и вообще, благотворительность - это похвально, конечно.
А почему именно мне нужно его звать к себе? Это же вы агитируете за метод, не на собеседовании решать подходит ли человек, а взять на работу и дать бессмысленное не связанное с работой задание.
Работать на работе - это не благотворительность. А вот заниматься на работе отвлеченными бесполезными заданиями очень сомнительная вещь, скорее всего никому не нужная.
маленькое уточнение на CP866 свет клином не сошелся :)
даже в самой микрософтовых поделиях текст мог быть кракозябрами ибо было две: досовская CP866 и виндовая С1251.
а были еще и KOI-8r и ISO 8859-5 и еще какието, различных кодировок кирилических букв сделали много, пока не устаканились на UTF.
помнится была отличная программа Штирлиц, которая умела отыскивать необходимую последовательность для декодирования непонятного набора символов.
нашел веб-замену ?? https://2cyr.com/decode/?lang=ru
pfg21, это теория. На практике там, скорее всего, СР866.
Просто потому, что внедрявшие инструменты с виндовскими кодировками с тех пор сменили парадокс на акцесс, акцесс на одинэс, а одинэс на веб. И файлов парадокса у них давно днем с огнем не найдешь.
Если же такие файлы где-то остались - то только у динозавров типа Почты России, где время остановилось в прошлом веке. На старых корытах, не видавших WinNT.
EDPI47, а при помощи чего была построены эта таблица? Видно, что текст частично был разобран, но при этом повреждены данные ячеек, что может говорить о повреждении при неверном чтении или интерпретации.
Парсер или библиотека для чтения с БД с ошибками в реализации?
Приведи весь код (можно ссылку на публичный репозиторий с кодом).
БД хранит в одной кодировке (скорее всего, в кириллической CP866), а на современных системах используется UTF-8, UTF-16. Поэтому при выводе нужно перекодировать в целевую кодировку.
EDPI47, что за бред с "возможный разделитель"? Это чатгпт писал, что ли? Формат dbase - одна страничка, 5 вариантов полей, которые реально могут быть.
Просто включить межушный ганглий и заняться программированием, а не гаданием на нейронке.
Andy_U, хороший вопрос. Возможно, потому, что dbase был упомянут в вопросе.
Впрочем, допускаю, что я плохо разбираюсь в сортах, и не буду однозначно утвреждать, что из поддерживаемых Парадоксом форматов ТС достался именно dBase. Информации-то в вопросе минимум...