1

我有一些需要帮助的挑战。我需要从任意来源将数据拉入我的 SQL 数据库。细节是:我知道我的数据库的确切结构并且结构不会改变。当我确实接收新数据时,它只会发生一次,在我设置我的数据库实例时。我将创建我的数据库的许多实例,并且每次它都必须从不同的源中提取数据,并且这些源将以不同的方式构造。数据很可能包含数千行记录。数据源很可能保存在 Excel、Access、更罕见的 Word 中,甚至更罕见的是,它将保存在 SQL 数据库中。我可以假设大多数核心数据都是相同的,只是放在不同的位置。尽管有如何举行,他们将遵循一般分组。本质上,我' m 将数据从遗留系统传输到 SQL 系统,这必须为许多组完成,他们需要自己的数据库私有实例。关于我将如何做到这一点的任何想法?编写一个可以为我完成大部分工作的程序有多难?

4

4 回答 4

2

这绝对是一个现实世界的问题。是否有可能编写一个可以完成大部分工作的程序?我认为这不是大部分,但也许是其中的一部分。

对于目标系统中的每个表,创建一个视图来显示您希望能够插入的源数据。选择便于说明必须做什么的列名;INSERT您很可能会选择与语句中的目标列匹配的列名。将您的INSERT语句保存为存储过程。

现在,当您获得新格式的新数据源时,您仍然需要重新创建视图,但是一旦视图在您选择的列名下显示正确的数据,您就可以运行存储过程而无需更改。

于 2010-12-02T03:47:31.383 回答
2

我有一个类似类型的项目,从 Access、.ini 文件、文件修改日期和 MySql 中检索数据。我每天早上都会抓取这些数据,并基本上附加到一组 SqlServer 模式。

我创建了一个 DataTable 并在迭代一组目录时将数据插入到每个新行中。完成 DataTable 后,我将执行批量复制以附加到数据库。

我希望这对你有所帮助。我知道我的项目并未涵盖您问题的所有方面;但也没有 DBA 来提供视图、存储过程等。我也没有额外的时间投入到这些事情上。不是最有利的条件,但就是这样。

HTH...

于 2010-12-02T04:20:16.590 回答
0

解决此问题的最佳方法是使用 ETL(Extract-Transform-Load)解决方案。一个不错的选择是通过 Microsoft 的 BI 套件的 SSIS。

于 2011-03-31T19:29:50.643 回答
0

这是意识的基石或基础......

1 一个组织数千个类似dna文件的数据库,

2 用户界面

隐藏 3 个部件,防止系统破坏/崩溃

于 2016-02-11T13:33:14.743 回答