您通过ODBC使用哪些应用程序进行数据输入和检索?

时间:2009-03-26 23:28:42

标签: forms postgresql odbc data-entry

您使用哪些应用或工具将数据输入数据库?我正在努力改进我们现有的(繁琐的)系统,该系统使用基于php web的系统来输入数据......项目......在......时间。

我目前的解决方案是使用电子表格。它适用于人类可读的文本和数字,但不适用于与其他表的行连接的外键。

想象一下,我想要一行数据来包含某人居住的城市。持有此列的列是id_city,它键入“city”表,其中包含两列:id(序列)和name(文本)。

我设想能够扩展电子表格功能,以包含id_city列的每一行的下拉菜单,允许用户选择哪个城市(显示城市名称的文本),但实际存储所选择的城市ID。这样,电子表格就会:
(1)在每个屏幕上显示大量数据和
(2)可以导出为csv文件并抛出到我们现有的脚本中,手动将行插入数据库。

我一直在使用MS Excel和Access,以及OpenOffice的套件,但是没有找到能够提供我上面提到的功能的东西。

我愿望清单上的其他项目:
(1)动态获取用户可以选择的城市名称 (2)允许用户将数据直接推送到后端(而不是通过外部文件/脚本 (3)如果在后端更改了数据行的任何列,则用户可以刷新屏幕上的数据以反映最近的任何更改。

您知道如何改进数据录入过程吗?你用什么工具?我使用PostgreSQL作为后端,可以访问MS Office,OpenOffice以及基于Web的解决方案。我想要一个灵活,强大且不需要太多时间来开发或部署的解决方案(我知道,梦想......)

我知道pgAdmin3具有类似的功能,但从我所看到的,它更像是一个管理工具而不是用户可以使用的东西。

5 个答案:

答案 0 :(得分: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条记录的表格,那就没问题。有2,000,000条记录,这很痛。为了清楚起见,表中的所有数据都归结为工作站,对于所有正在连接的表,并且连接发生在客户端,而不是服务器端。

答案 1 :(得分:2)

通常有用于基本数据库管理的独立工具 - 例如,对于Oracle和MySQL,一个名为SQL Developer的免费工具足以用于基本数据库数据输入。

对于更复杂的类型(特别是涉及clobs),如果我们已经在Java端提供了模型和DAO,我通常可以在一天内在Java + SWT中将应用程序组合在一起。是的,你必须付出一些努力,但如果它将来会定期使用,那么它可能是值得的。

在你的情况下(好吧,你有批量导入数据的情况)敲掉一些从CSV中读取的Perl并且执行城市id查找将是微不足道的。也许是浪费一次性的事情?取决于要导入的数据量。

答案 2 :(得分:2)

如果MS Access无法满足您的需求,我会感到惊讶 - 这基本上就是完全用例。也就是说,快速为一个简单的CRUD数据库应用程序提供一个很好的用户界面,电子表格不会延伸到这个应用程序。

答案 3 :(得分:1)

从技术上讲,这是一个答案,但不是建议:

我使用Excel和SSIS将简单数据输入文件导入MS SQL,但这还不够 - 控制数据的能力非常低,SSIS非常敏感,尤其是在使用Excel时。

答案 4 :(得分:-1)

MS Access与某些非Microsoft数据库不兼容。有一个名为Apache OpenOffice Base的开源等价物你可能想尝试。