What applications do you use for data entry and retrieval via ODBC?
Asked Answered
A

5

5

What apps or tools do you use for data entry into your database? I'm trying to improve our existing (cumbersome) system that uses a php web based system for entering data one ... item ... at ... a ... time.

My current solution to this is to use a spreadsheet. It works well with text and numbers that are human readable, but not with foreign keys that are used to join with the other table's rows.

Imagine that I want a row of data to include what city someone lives in. The column holding this is id_city, which is keyed to the "city" table which has two columns: id (serial) and name (text).

I envision being able to extend the spreadsheet capabilities to include dropdown menu's for every row of the id_city column that would allow the user to select which city (displaying the text of the city names), but actually storing the city id chosen. This way, the spreadsheet would:
(1) show a great deal of data on each screen and
(2) could be exported as a csv file and thrown to our existing scripts that manually insert rows into the database.

I have been playing around with MS Excel and Access, as well as OpenOffice's suite, but have not found something that gives me the functionality I mention above.

Other items on my wish-list:
(1) dynamically fetch the name of cities that can be selected by the user.
(2) allow the user to push the data directly into the backend (not via external files/scripts.
(3) If any of the columns of the rows of data gets changed in the backend, the user could refresh the data on the screen to reflect any recent changes.

Do you know how I could improve the process of data entry? What tools do you use? I use PostgreSQL for the backend and have access to MS Office, OpenOffice, as well as web based solutions. I would love a solution that is flexible, powerful, and doesn't require much time to develop or deploy (I know, dream on...)

I know that pgAdmin3 has similar functionality, but from what I have seen, it is more of an administrative tool rather than something for users to use.

Alliber answered 26/3, 2009 at 23:28 Comment(1)
Is this a long term job function or just a one-time activity?Linolinocut
I
5

As j_random_hacker noted, I've used MS Access for years (since Access 97) to connect to an ODBC Data Source.

You can do this via linking to external tables: (in 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.

You can do so much once Access sees your external table as a linked table, including sorting, filtering, etc. There's one caveat: as far as I can tell, ALL operations happen on the client side unless you're using a pass-through query. That's fine if you're looking at a table with 3000 records. With 2,000,000 records, that hurts. To be clear, all data in the table comes down to the workstation, for all tables being joined, and the join happens client-side, NOT server-side.

Instructions answered 1/6, 2012 at 21:17 Comment(0)
P
2

There are usually standalone tools for basic database management - e.g., for Oracle and MySQL a free tool called SQL Developer suffices for basic database data entry.

For more complex types (especially involving clobs) I can usually knock an application together in Java+SWT in a day if we already have the model and DAOs available on the Java side. Yeah, you have to put some effort in, but if it will be used regularly in the future then it is probably worth it.

In your case (well, the case where you have bulk imports of data) knocking up some Perl that reads from the CSV and does the city id lookup would be trivial to implement. Maybe a waste for a one-off thing? Depends on the amount of data to import.

Palgrave answered 26/3, 2009 at 23:35 Comment(2)
Everything is currently plugged into a spreadsheet, put into a shape that can be mass COPY'd (pgsql specific) into the backend from a csv file. It's a lot of work, has lots of human error, and needs to be improved. Thanks for the ideas/suggestions on improvements.Alliber
Ah, so maybe here you would want to at least have some code that verified that the spreadsheet contents were valid before the COPY. Human error will occur whether in Excel or your own application, although you can probably write stronger specific validation in your own system. Good luck.Palgrave
A
2

I would be surprised if MS Access can't do what you're looking for -- this is basically the exact use case for it. Namely, quickly throwing together a nice UI for a simple CRUD DB application that a spreadsheet doesn't quite stretch to.

Aftmost answered 31/3, 2009 at 3:53 Comment(0)
S
1

This is an answer, technically, but not a recommendation:

I've used Excel and SSIS for importing simple data entry files into MS SQL, but it's not adequate - there's very little ability to control the data, and SSIS is so very touchy, especially when working with Excel.

Synthiasyntonic answered 1/6, 2012 at 21:6 Comment(0)
R
-1

MS Access does not work well with some non-Microsoft databases. There is an open-source equivalent called Apache OpenOffice Base you may want to try.

Rohrer answered 7/11, 2013 at 21:7 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.