Какие приложения вы используете для ввода и извлечения данных через ODBC? - PullRequest
5 голосов
/ 27 марта 2009

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

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

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

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

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

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

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

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

Ответы [ 5 ]

5 голосов
/ 02 июня 2012

Как отметил 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 записей это больно. Чтобы было ясно, все данные в таблице сводятся к рабочей станции, для всех таблиц, которые объединяются, и объединение происходит на стороне клиента, а НЕ на стороне сервера.

2 голосов
/ 31 марта 2009

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

2 голосов
/ 27 марта 2009

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

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

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

1 голос
/ 02 июня 2012

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

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

0 голосов
/ 08 ноября 2013

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

...