0

我们正在将客户自己的数据库模式迁移到我们自己的(都是 SQL-Server)。如果列不完全对齐(默认值等),则从他们的模式到我们的模式的大多数映射都已被识别,并且规则已达成一致。

以前,根据分配任务的人员,这可以通过混合使用 sql 脚本或一次性 vb 应用程序来完成。

我在想必须有一个应用程序(商业或其他),您可以在其中分配这些映射/规则并让它流式传输数据。当然,该工具的设置和配置将少于临时脚本的创建......

有应用程序吗?除了明显的“小心”之外,还有什么技巧可以减轻非 DBA 将一个模式移植到另一个模式的压力?

4

5 回答 5

1

您可以在代码中使用数据库迁移。

有几个受 ruby​​ 迁移启发的 .net 数据迁移库。他们在代码中定义数据库更改。

迁移允许开发人员以受控和一致的方式管理数据库模式更改的推出和回滚。

看看这些:

于 2010-03-16T13:57:28.307 回答
1

我使用名为Talend Open Studio的开源 ETL(提取/转换/加载)工具来完成此类任务。

简而言之,Talend Open Studio (TOS) 是一种 GUI 代码生成工具,您可以在其中插入不同的组件来导入、处理和导出数据——生成的代码是可移植的 Java 或 Perl。有很多组件可以帮助您对非标准数据做出决定(或者您始终可以为最复杂的部分添加自己的 Java 或 Perl 例程)。

事实证明,TOS 非常值得我最初投资它的时间......所以我肯定会推荐它。

于 2010-03-16T14:07:36.290 回答
0

并不真地。问题是,无论如何,您拥有的任何应用程序都将更像是一个框架。根据定义,模式传输有些棘手。做一半事情的工具几乎没用——无论如何,这在 SQL 中很容易做到;)

于 2010-03-16T13:55:47.953 回答
0

我每天都在做这样的事情。由于我们软件的自定义性质,我通常一次性完成整个事情。大约 70% 的时间,我使用 ms 访问作为中介(其余时间,我编写代码来做这件事)。我将源数据加载到 ms 访问中,对其进行按摩,然后将其移动到我们的 sql server 表中。访问非常适合这种类型的工作。要注意的主要事情是您的密钥和重复限制。我确信有现成的应用程序可以进行数据迁移,但是,我需要更多的控制权,并且 ms 访问允许我重用数据导入的某些部分,同时保持自定义所有内容的能力。

最好的问候,唐

于 2010-03-16T13:55:59.587 回答
0

试试SQL 数据检查器。此工具允许比较/同步 sql 查询结果,因此您可以向两个数据库编写适当的查询并比较/同步这些查询返回的结果。

于 2010-05-12T15:31:02.640 回答