5

您使用哪些应用程序或工具将数据输入数据库?我正在尝试改进我们现有的(繁琐的)系统,该系统使用基于 php 网络的系统来输入数据一个……项目……在……一次……时间。

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

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

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

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

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

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

我知道 pgAdmin3 具有类似的功能,但据我所见,它更像是一种管理工具,而不是供用户使用的东西。

4

5 回答 5

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 条记录,这很痛苦。需要明确的是,表中的所有数据都归结到工作站,对于所有要连接的表,并且连接发生在客户端,而不是服务器端。

于 2012-06-01T21:17:37.290 回答
2

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

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

在您的情况下(好吧,在您有大量数据导入的情况下)敲一些从 CSV 读取的 Perl 并执行城市 ID 查找将是微不足道的。也许一次性的东西浪费了?取决于要导入的数据量。

于 2009-03-26T23:35:02.663 回答
2

如果 MS Access 无法满足您的需求,我会感到惊讶——这基本上就是它的确切用例。即,快速为一个简单的 CRUD DB 应用程序组合一个漂亮的 UI,而电子表格并不能很好地扩展到该应用程序。

于 2009-03-31T03:53:58.217 回答
1

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

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

于 2012-06-01T21:06:00.673 回答
-1

MS Access 不适用于某些非 Microsoft 数据库。您可能想尝试一个名为 Apache OpenOffice Base 的开源等效项。

于 2013-11-07T21:07:57.097 回答