替换数据库时,您可以通过指定表名称来排除表。排除目标数据库中的表不会移除已有的目标表。
如果 SQL 缓冲区的 EXCLUDE TABLE 子句太长,将会发生错误。缓冲区长度限制取决于 SQL 缓冲区中已存在的数据量。如果发生错误,请在重新提交作业之前修改 EXCLUDE TABLE 列表(减小其大小)。另一种解决方法是选择所有表,而不是选择完整的数据库副本,以便不会包含 exclude 子句。
- 设置 <replaceDatabase="true">,替换指定的数据库。
- 设置 <table selection="excluded">,然后指定表名称。
在下面的示例中,使用源数据库替换了目标数据库,但并未将 Customers 表复制到目标数据库。
如果目标数据库中已存在 Customers 表,按如下所示在 XML 中排除该表并不会将其从目标数据库中删除。
<database selection="included" replaceDatabase="true"> <name>MyDatabase</name> <table selection="excluded"> <name>Customers</name> </table> </database>