我们的客户使用 SQLServer/Oracle 数据库。多年来,我们向他们发送了许多必须手动运行的更新脚本。大多数情况下,一切都很顺利,但有时脚本没有完全运行到最后或者有一些错误(升级时没有检测到)。此外,有时甚至“聪明的用户”也出于某种原因将索引/表添加到这些数据库中。后来,这些违规行为会导致问题。
现在我的任务是找出一种方法来根据我们自己的数据库模式(表、数据类型、索引、视图......)来验证/验证我们的客户数据库。输出应该是某种差异文件,指示数据库中缺少什么/不应该是什么。我可以在我们的应用程序内部使用代码 (C++) 执行此操作,或者我可以为此目的创建一个外部工具。
现在在我开始编码之前,我想问一下是否已经有一个工具可以产生必要的结果,或者至少可以帮助我从我们的主数据库(Oracle 和 SQLServer)产生一个像样的 xml 文件?或者是否有一个库可以帮助我编写自己的工具?