У меня есть программа Windows, которая генерирует формы PGP, которые будут заполнены позже.
Эти PHP-формы будут заполнять базу данных. Он очень похож на MySql, но я не могу быть уверенным, поэтому позвоните ему в ODBC.
И да, это должна быть программа Windows.
Также будут сформированы PHP-формы, которые запрашивают базу данных - изучают, какие таблицы и поля они содержат, а затем генерируют формы, которые могут использоваться для поиска в базе данных (например, он находит таблицу с полями "имя_компьютера" и т.д.) и генерирует которая позволяет искать по имени сотрудника.
Позвольте называть это время проектирования и время выполнения.
Во время разработки какой-то менеджер или специалист по ИТ или аналогичный получает определение природы базы данных и во время выполнения 1) рабочий заполняет форму ежедневно и 2) управление может извлекать отчеты.
Здесь мой вопрос: учитывая, что база данных определена в "время разработки" (и заполняется во время выполнения), где и как лучше всего это сделать?
1 Я мог бы использовать интерфейс ODBC из программы windows, но мне трудно найти что-то хорошее для работы с Delphi. Такие вещи, как ADO и firebird, как правило, ожидают, что у вас уже есть база данных и вы сможете манипулировать ею, но я не могу найти пример кода, как создать базу данных и некоторые таблицы, так что...
2 Я мог использовать команды DOS из Delphi в моей программе Windows. Я просто попробовал и получил ответ на MySql --version
, но не уверен, что MySql и т.д. Более интерактивны. То есть, могу ли я использовать файл script или очень длинную команду stacked
с точкой с запятой и возвращать разделитель? например, 'CREATE DATABASE db; CREATE TABLE t1; '
3) Поскольку лучший способ работать с базами данных, похоже, является PHP, возможно, моя программа Windows может выплеснуть страницу PHP, которая при запуске в браузере создаст базу данных.
Я пытался сделать это как можно более простым, но, пожалуйста, не стесняйтесь задавать вопросы. Возможно, существует несколько допустимых способов, но есть, вероятно, одно "лучшее" решение с точки зрения простоты внедрения или обслуживания.
Лучшая опция с нуля 3. Что, если пользователь позже захочет вернуться и изменить программу ввода Windows? Он также должен обновить базу данных.
Создание базы данных обычно является задачей администратора базы данных. Если это не локальная база данных, возможно, встроенная, пользователю необходимо знать, где и как создать базу данных на удаленном сервере, и она не может ничего об этом знать. Где хранить файлы базы данных? Какие диски доступны? И может быть еще множество параметров для установки (размер буфера памяти и т.д.), Создаваемых пользователей и т.д. А также вам нужно очень повысить привилегии, чтобы иметь возможность создавать базу данных, а не то, что вы даете средним пользователям или приложениям. Таким образом, вы обычно попросите администратора базы данных создать вашу базу данных/схему, он предоставит вам учетные данные, необходимые для подключения, а затем ваше приложение (или его настройка) создаст и инициализирует необходимые объекты (таблицы и т.д.). Создание таблицы (и другого объекта) обычно выполняется так же просто, как выполнение операторов "CREATE TABLE....". Просто помните, что SQL принимает только одну команду, если вам нужно запустить несколько команд, вам нужно отправить их один за другим самостоятельно, хотя есть компоненты Delphi, которые могут разделить команды script и запускаться один за другим.