SQL DXP for Oracle MySQL是一个跨平台数据库对比工具,它可以对比相同数据库,例如Oracle Server和Oracle Server,或者可以比较不同的数据库服务器,并将schema(架构)和/或数据在不同平台间进行迁移。它会将源数据库的各种对象转换成目标数据库兼容的对象。例如,它可以将MySQL数据库转换成Oracle Server形式,这样比较就像进行了一对一的比较。值得注意的是,并非所有的对象和属性都可以被转换。MySQL不支持Oracle Server的全部功能套件,然而,这些对象以原样发布,以展示源数据库的完整架构。

2020426922166917

SQL DXP的跨平台数据对比可以更紧密地对齐,因为它使用了公共的数据类型。数据对比提供了一种方便的方式,可以在两个不同平台之间传输数据,一个非常常见的用途是将基于网络的MySQL数据传回后台SQL Server数据库。在SQL DXP中,您可以在不同的标签页中同时运行两个或更多的项目,无论它们是在完全不同的服务器上的两个schema对比项目,还是在同一服务器上的一个schema对比和数据对比项目。由于每个进程都在单独的线程中运行,因此您可以在等待其他对比进程完成的同时,审查甚至运行更新脚本。

在比较结果中,可以根据一系列选项过滤对象,例如隐藏所有相同的对象。可以将这些过滤器持久化,这样每次再运行项目时就会重新应用过滤器。这种持久性也可以用来预先选择或预先取消选择对象,如果有些对象在源中,但不应发送到目标,这就很方便。只需点击两次,就可以同步schema对比标签。只需点击脚本,就可以生成部署脚本,然后点击执行,即可应用到目标。SQL DXP可以生成一份HTML报告,突出显示整个架构中的对象差异。

在SQL Delta的项目管理器中,可以为每个项目分配一系列在项目运行完成后触发的事件。结合命令行功能,可以让SQL Delta以完全自动化的模式运行。SQL Delta可以通过在命令行中传递一个项目名称作为参数来运行。例如,在Windows中运行CMD,然后将SQL Delta放在路径中,您就可以键入sqldelta.exe "myproject",那么myproject将自动运行。

跨平台比较
SQLDXP可以对相似的数据库进行相似的比较,因此OracleServer与OracleServer之间的比较方式与SQLDelta执行比较的方式相同。此外,SQLDXP可以比较不同的数据库服务器并跨不同平台传输架构和/或数据。

架构比较
SQLDXP会将源数据库的各种对象转换为目标数据库的兼容对象。例如,MySQL到OracleServer将MySQL数据库转换为OracleServer形式,因此比较是类似的。

需要注意的是,并非所有对象和属性都可以转换。MySQL不支持OracleServer的功能集,但对象保留原样以显示源数据库的整个架构。

数据比较
给定通用数据类型,跨平台数据比较可以更紧密地对齐。数据比较提供了一种从两个不同平台传输数据的便捷方法,最常见的用途是将基于Web的MySQL数据传输回后端SQLServer数据库。

直接比较
比较两个数据库既快速又简单。在新项目中,选择源数据库目标,然后选择目标数据库,然后单击以运行架构比较。

SQLDelta显示源或目标中不同或不同的所有对象的概述。通过选择每个对象,您可以在架构级别看到各种差异。

综合项目选项
每个模式比较项目都有一系列选项来减少发现的共同差异。例如,具有系统名称的对象约束在源和目标之间通常是不同的,并且可以忽略这些。

模式映射
对于某些项目,您的目标架构名称(所有者)与源架构名称不同。每个比较项目都可以选择将源模式名称映射到目标模式名称。

然后,SQLDelta可以选择自动更改定义以使用正确的架构名称。例如,您的源数据库使用“dbo”,目标使用“prod”作为所有对象的架构名称。只需将dbo映射到prod,任何脚本更改都将确保目标对象是prod.object而不是dbo.object。

全面的搜索和过滤
在比较结果中,可以根据一系列选项过滤对象。例如,隐藏所有相同的对象是一个频繁的过滤器。

过滤器可以保留,因此每当您重新运行项目时,都会重新应用过滤器。这种持久性还可用于预选择或预取消选择对象,如果源中存在不应发送到目标的对象,这会很方便。

过滤架构加载
您可以对架构加载应用过滤器以从加载中排除对象。例如,您可能拥有一组属于源数据库一部分的函数,但它们永远不属于目标数据库。通过添加负载过滤器,您可以从负载中排除这些函数,从而从比较中排除。

双击同步
显示架构比较选项卡后,只需单击“脚本”即可生成部署脚本,然后单击“执行”以应用于目标。

比较报告
SQLDelta可以生成架构比较的HTML报告,突出显示整个架构中的对象差异。

部署前修改脚本
有时,能够更改脚本或将脚本添加到最终部署脚本中是件好事。同步脚本是完全可编辑的,并且在项目选项中,您可以添加自定义脚本,该脚本将添加到每个部署的同步脚本中。

它是如何工作的
数据比较使用一个或多个索引列(通常是主键)来确定源中的行是否与目标表中的行匹配。如果找到匹配,则数据比较扫描每列以查找差异。

配置全面
默认情况下,数据比较非常简单,选择源数据库和目标数据库并运行比较。SQLDelta自动确定具有主键和匹配列名的表并执行比较。

如果您希望获得更精细的信息,您可以选择要比较的表、定义自己的索引列,甚至定义要比较的列。

表和列映射
有时,源数据库中的表与目标数据库中的表具有不同的名称。数据比较可以将源表名映射到目标表名。这同样适用于源列可以映射到目标列的列。数据比较负责处理部署脚本内的名称更改。

数据过滤
可以过滤表数据以在加载期间排除特定行,并且过滤器使用标准where子句格式。

列转换
可以将列配置为应用转换以进行比较或同时进行比较和脚本编写。

例如,您可能想要比较存储到小数点后两位(货币值)的数字列,但在这种情况下,只有整数对您有意义。

您可以对列应用round(..)转换,这将删除小数值并比较整数。

数据过滤
可以过滤表数据以在加载期间排除特定行,并且过滤器使用标准where子句格式。

数据比较视图
可以选择将视图作为数据比较的一部分包含在内。

源视图可用于映射到目标表,提供从视图填充目标表的方法。

导出数据比较脚本
数据比较脚本可能会很大,并且会在脚本编写过程中自动保存到文件中。

数据比较脚本显示可以显示数百万行代码,因此您甚至可以查看最大的部署脚本。

差异报告
生成HTML报告,显示数据比较的差异摘要。

查看您的数据库
模式视图是一种编辑器功能,可显示数据库的整个模式。

对于表和视图等对象,您还可以查看表或视图中的数据。

搜索
在您的数据库中寻找某些内容?架构视图可以过滤到对象的定义级别,以便您可以快速找到数据库中的元素。

动态查询
对数据库运行DML或DDL查询。

审查
例如,架构比较可能显示源表发生意外更改,并且您想要查看与源数据库和目标数据库相关的数据和其他信息。

从项目管理器中复制您的比较项目,将其切换到模式视图项目并运行它。您现在可以在表和视图中查看原始架构和数据。也许数据解释了表中的变化或注释提供了更多信息。

可用的活动
  • 显示同步脚本
  • 保存同步脚本
  • 执行同步脚本
  •  生成比较报告
  •  电子邮件
  • 比较后运行项目
  • 脚本后运行项目
  • 将源/目标另存为快照
  •  执行脚本
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。