Какие приложения вы используете для ввода и извлечения данных через ODBC?

StackOverflow https://stackoverflow.com/questions/687940

Вопрос

Какие приложения или инструменты вы используете для ввода данных в свою базу данных?Я пытаюсь улучшить нашу существующую (громоздкую) систему, которая использует веб-систему PHP для ввода данных...элемент ...в ...а...время.

Мое текущее решение этой проблемы — использовать электронную таблицу.Он хорошо работает с текстом и числами, читаемыми человеком, но не с внешними ключами, которые используются для соединения со строками другой таблицы.

Представьте, что я хочу, чтобы в строке данных было указано, в каком городе кто-то живет.Столбец, содержащий это значение, — id_city, который связан с таблицей «city», состоящей из двух столбцов:идентификатор (серийный номер) и имя (текст).

Я предполагаю, что смогу расширить возможности электронной таблицы, включив раскрывающееся меню для каждой строки столбца id_city, которое позволит пользователю выбирать, какой город (отображая текст названий городов), но фактически сохраняя выбранный идентификатор города.Таким образом, электронная таблица будет:
(1) показывать большое количество данных на каждом экране и
(2) можно экспортировать в виде файла csv и использовать в наших существующих сценариях, которые вручную вставляют строки в базу данных.

Я экспериментировал с MS Excel и Access, а также с пакетом OpenOffice, но не нашел ничего, что давало бы мне функциональность, о которой я упоминал выше.

Другие позиции в моем списке желаний:
(1) динамически получать названия городов, которые может выбрать пользователь.
(2) позволить пользователю отправлять данные непосредственно в серверную часть (а не через внешние файлы/скрипты).
(3) Если какой-либо из столбцов строк данных будет изменен в серверной части, пользователь может обновить данные на экране, чтобы отразить все недавние изменения.

Знаете ли вы, как я мог бы улучшить процесс ввода данных?Какие инструменты вы используете?Я использую PostgreSQL для серверной части и имею доступ к MS Office, OpenOffice, а также к веб-решениям.Мне бы хотелось решение, которое было бы гибким, мощным и не требовало бы много времени для разработки или развертывания (я знаю, мечтайте...)

Я знаю, что pgAdmin3 имеет аналогичную функциональность, но, судя по тому, что я видел, это скорее инструмент администрирования, а не что-то, что могут использовать пользователи.

Это было полезно?

Решение

Как заметил j_random_hacker, я использовал MS Access в течение многих лет (начиная с Access 97) для подключения к источнику данных ODBC.

Вы можете сделать это, связавшись с внешними таблицами:(в Access 2010:)

New -> Blank Database
External Data -> ODBC Database -> Link to Data Source
Machine Data Source -> New -> System Data Source -> Select Driver (Oracle, or whatever) -> Finish
Enter a new name for your DSN, the all of the connection parameters, then click OK
Select newly created DSN, hit ok.

Когда Access увидит вашу внешнюю таблицу как связанную, вы сможете сделать очень многое, включая сортировку, фильтрацию и т. д.Есть одно предостережение:насколько я могу судить, ВСЕ операции происходят на стороне клиента, если вы не используете сквозной запрос.Это нормально, если вы смотрите на таблицу с 3000 записями.С 2 000 000 записей это больно.Чтобы внести ясность, все данные в таблице передаются на рабочую станцию ​​для всех объединяемых таблиц, и соединение происходит на стороне клиента, а НЕ на стороне сервера.

Другие советы

Обычно существуют автономные инструменты для базового управления базами данных — например, для Oracle и MySQL для базового ввода данных в базу данных достаточно бесплатного инструмента под названием SQL Developer.

Для более сложных типов (особенно с использованием сгустков) я обычно могу собрать приложение на Java+SWT за день, если у нас уже есть модель и DAO, доступные на стороне Java.Да, придется приложить некоторые усилия, но если в будущем он будет использоваться регулярно, то, вероятно, оно того стоит.

В вашем случае (ну, в случае, когда у вас есть массовый импорт данных) создание некоторого Perl, который читает из CSV и выполняет поиск идентификатора города, было бы тривиально реализовать.Может быть, пустая трата времени на одноразовую вещь?Зависит от объема данных для импорта.

Я был бы удивлен, если MS Access не сможет сделать то, что вы ищете - это, по сути, точный вариант использования для него.А именно, быстро создать красивый пользовательский интерфейс для простого приложения CRUD DB, на которое не совсем рассчитана электронная таблица.

Технически это ответ, но не рекомендация:

Я использовал Excel и SSIS для импорта простых файлов ввода данных в MS SQL, но этого недостаточно — возможностей для управления данными очень мало, а SSIS очень обидчив, особенно при работе с Excel.

MS Access не работает с некоторыми базами данных сторонних производителей.Существует эквивалент с открытым исходным кодом под названием Apache OpenOffice Base, который вы можете попробовать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top