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

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

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

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

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

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

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

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

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


person Joshua Berry    schedule 26.03.2009    source источник
comment
Это долгосрочная работа или разовая работа?   -  person Michael J. Lee    schedule 08.06.2012


Ответы (5)


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

person Lynn Crumbling    schedule 01.06.2012

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

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

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

person JeeBee    schedule 26.03.2009
comment
В настоящее время все вставлено в электронную таблицу, помещено в форму, которая может быть скопирована массово (специфично для pgsql) в серверную часть из файла csv. Это большой объем работы, много человеческих ошибок и нуждается в улучшении. Спасибо за идеи / предложения по улучшениям. - person Joshua Berry; 06.04.2009
comment
Ах, так что, возможно, здесь вы захотите иметь хотя бы какой-то код, который проверяет, что содержимое электронной таблицы было действительным до КОПИРОВАНИЯ. Человеческая ошибка будет происходить как в Excel, так и в вашем собственном приложении, хотя вы, вероятно, можете написать более строгую конкретную проверку в своей собственной системе. Удачи. - person JeeBee; 06.04.2009

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

person j_random_hacker    schedule 31.03.2009

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

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

person Community    schedule 01.06.2012

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

person Myles2Go    schedule 07.11.2013