Форум сайта python.su
0
У меня такой вопрос к знатокам (прям как в ЧТО ГДЕ КОГДА)
Есть некая проприетарная СУБД c интерфейсом под Windows, причем интерфейс клиентской части сделан в стиле среды IDE турбо-Си или турбо-Паскаля фирмы Борланд начала 90-х годов. В меню клиента есть пункт типа “Экспорт данных”, который осуществляет выгрузку выборки данных из БД в формате xml, которые (данные) далее могут быть обработаны в другой программе. Известно, что при выборе этого пункта меню запускается питоновский модуль, условно назовем его export.pyo, сжатый zip-архиватором. Из данного “pyo” файла без проблем можно восстановить исходный код в файл “py” и конечно же корректировать как надо ли даже переписать с нуля, потому как даже есть небольшой хелп по api-функциями для работы с данной БД на питоне. Понятно, что экзешник при выборе соответствующего пункта меню производит распаковку pyo файла из zip архива, и запускает его, видимо каким-то образом используя при этом лежащую в том же каталоге, что и zip архив, библиотеку python24.dll. Кроме того, здесь еще лежит библиотека msvcr71, а также ряд файлов с непонятным расширением “pyd” (типа ssl.pyd, socket.pyd, zlib.pyd, imaginmath.pyd и т.п., я так понял, что они тоже относятся к питону).
Вопрос следующий: можно ли как-то заставить напрямую запускать “pyo” или “py” без использования клиентского екзешника? Если можно, то какова последовательность команд на запуск? Нужен ли сам питон-интерпретатор, если есть python24.dll, и как и к чему ее подключить? Надо писать свой екзешник?
Извините, если что-нибудь некорректно написал, прошу разъяснить в чем не прав.
Офлайн
88
yunixВозможно. Используйте дистрибутив питона 2.4 и используйте с ним ваш pyo.
Вопрос следующий: можно ли как-то заставить напрямую запускать “pyo” или “py” без использования клиентского екзешника? Если можно, то какова последовательность команд на запуск? Нужен ли сам питон-интерпретатор, если есть python24.dll, и как и к чему ее подключить? Надо писать свой екзешник?
Офлайн
253
yunixДа. Вашем случае он включен в exe файл.
Нужен ли сам питон-интерпретатор,
ShamanА это надо смотреть в документации.
то какова последовательность команд на запуск?
yunixНет.
Надо писать свой екзешник?
yunixНе надо ее подключать, интерпретатор сам ее использует без вас.
python24.dll, и как и к чему ее подключить?
yunixЭто динамические библиотеки к которым приделан интерфейс для взаимодействия с интерпретатором.
с непонятным расширением “pyd”
yunixВыгружать лучше не в xml а в более родных форматах. csv например.
выгрузку выборки данных из БД в формате xml
yunixТак назовите. Что из этого тайну делать. Судя по вашему описанию у вас пропиретарное ПО а драйвер базы данных скорее всего interbase. Очень может быть что к базе напрямую проще обращаться будет.
Есть некая проприетарная СУБД
Офлайн
0
Ок, спс за ответы. Радует, что принципиально возможно использовать интерпретатор без написания какого-либо интерфейса например на Си. СУБД достаточно редкая и специфическая, можно сказать уникальная, если не ошибаюсь, использует самодельный драйвер БД. Может Вам что-то говорит название фирмы НТЦ “Сонар-Плюс” г.Краснодар? Прилагаю файл документации по сонаровским функциям доступным в Питоне.
Кстати, в файлах ‘pyo’ используется импорт модуля SonarDB (упоминание о нем есть в прилагаемом мной файле), исходников которого я нигде не нашел. Может быть он зашит какой-нить экзешник? Или в файлах PYD? Ведь он обязательно понадобится при написании своей программы извлечения данных из этой БД. Как вы думаете, где он может находиться?
Вот нашел ссылку http://www.sonarplus.ru/index.php?page=products&id=legenda
Там внизу страницы даже есть ссылки на скачивание демо-программы, если ее распаковать, то в каталоге LEG_DEMO\DOC\PYTHON\ будет разъяснение по применению питона, а в папке LEG_DEMO\BD\EXE\ лежит файл Ermak4.zip с байт-кодами “pyo”, которые вызываются при выборе некоторых пунктов меню. Конечная цель - на основе исходников файлов “pyo” сделать свою питоновскую прогу, способную извлекать данные из этой БД (причем именно в xml формате), ввод не требуется. Редактировать существующие файлы, лежащие в zip-архиве Ermak4, конечно можно, но очень не удобно, и они не будут работать без запуска exe-шника. А хотелось бы автономную прогу (ну понятно в связке с интерпретатором), производящую похожие действия.
Отредактировано yunix (Дек. 14, 2015 01:21:16)
Прикреплённый файлы:
PyDoc.chm (87,9 KБ)
Офлайн