以下示例将 Oracle 源中名为
Actor
的表的名为
SetSpace
的表空间重命名为 Oracle 目标终端节点中的
SceneTblSpace
。
{
"rules": [
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "Play",
"table-name": "%"
"rule-action": "include"
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-action": "rename",
"rule-target": "table-tablespace",
"object-locator": {
"schema-name": "Play",
"table-name": "Actor",
"table-tablespace-name": "SetSpace"
"value": "SceneTblSpace"
例 重命名 Oracle 索引表空间
以下示例将 Oracle 源中名为 Actor
的表的名为 SetISpace
的索引表空间重命名为 Oracle 目标终端节点中的 SceneIdxSpace
。
{
"rules": [
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "Play",
"table-name": "%"
"rule-action": "include"
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-action": "rename",
"rule-target": "table-tablespace",
"object-locator": {
"schema-name": "Play",
"table-name": "Actor",
"table-tablespace-name": "SetISpace"
"value": "SceneIdxSpace"
例 添加列
以下示例将 datetime
列添加到架构 test
的表 Actor
中。
{
"rules": [
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "test",
"table-name": "%"
"rule-action": "include"
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-action": "add-column",
"rule-target": "column",
"object-locator": {
"schema-name": "test",
"table-name": "actor"
"value": "last_updated",
"data-type": {
"type": "datetime",
"precision": 6
例 删除列
以下示例将转换源中名为 Actor
的表,以从目标中删除以字符 col
开头的所有列。
{
"rules": [{
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "test",
"table-name": "%"
"rule-action": "include"
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-action": "remove-column",
"rule-target": "column",
"object-locator": {
"schema-name": "test",
"table-name": "Actor",
"column-name": "col%"
例 Convert to lowercase
以下示例将表名从 ACTOR
(源中)转换为 actor
(目标中)。
{
"rules": [{
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "test",
"table-name": "%"
"rule-action": "include"
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-action": "convert-lowercase",
"rule-target": "table",
"object-locator": {
"schema-name": "test",
"table-name": "ACTOR"
例 转换为大写形式
以下示例将所有表和所有架构的所有列从小写形式(源中)转换为大写形式(目标中)。
{
"rules": [
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "test",
"table-name": "%"
"rule-action": "include"
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-action": "convert-uppercase",
"rule-target": "column",
"object-locator": {
"schema-name": "%",
"table-name": "%",
"column-name": "%"
例 添加前缀
以下示例转换源中的所有表,以便在目标中向这些表添加前缀 DMS_
。
{
"rules": [{
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "test",
"table-name": "%"
"rule-action": "include"
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-action": "add-prefix",
"rule-target": "table",
"object-locator": {
"schema-name": "test",
"table-name": "%"
"value": "DMS_"
例 替换前缀
以下示例将转换源中包含前缀 Pre_
的所有列,以在目标中将前缀替换为 NewPre_
。
{
"rules": [
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "test",
"table-name": "%"
"rule-action": "include"
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-action": "replace-prefix",
"rule-target": "column",
"object-locator": {
"schema-name": "%",
"table-name": "%",
"column-name": "%"
"value": "NewPre_",
"old-value": "Pre_"
例 删除后缀
以下示例转换源中的所有表,以从目标中删除这些表的后缀 _DMS
。
{
"rules": [{
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "test",
"table-name": "%"
"rule-action": "include"
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-action": "remove-suffix",
"rule-target": "table",
"object-locator": {
"schema-name": "test",
"table-name": "%"
"value": "_DMS"
例 定义主键
以下示例在迁移到目标终端节点的 ITEM
表的三个列上定义一个名为 ITEM-primary-key
的主键。
{
"rules": [{
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "inventory",
"table-name": "%"
"rule-action": "include"
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-action": "define-primary-key",
"rule-target": "table",
"object-locator": {
"schema-name": "inventory",
"table-name": "ITEM"
"primary-key-def": {
"name": "ITEM-primary-key",
"columns": [
"ITEM-NAME",
"BOM-MODEL-NUM",
"BOM-PART-NUM"
例 定义唯一索引
以下示例在迁移到目标终端节点的 ITEM
表的三个列上定义一个名为 ITEM-unique-idx
的唯一索引。
{
"rules": [{
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "inventory",
"table-name": "%"
"rule-action": "include"
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-action": "define-primary-key",
"rule-target": "table",
"object-locator": {
"schema-name": "inventory",
"table-name": "ITEM"
"primary-key-def": {
"name": "ITEM-unique-idx",
"origin": "unique-index",
"columns": [
"ITEM-NAME",
"BOM-MODEL-NUM",
"BOM-PART-NUM"
例 更改目标列的数据类型
以下示例将名为 SALE_AMOUNT
的目标列的数据类型从现有数据类型更改为 int8
。
{
"rule-type": "transformation",
"rule-id": "1",
"rule-name": "RuleName 1",
"rule-action": "change-data-type",
"rule-target": "column",
"object-locator": {
"schema-name": "dbo",
"table-name": "dms",
"column-name": "SALE_AMOUNT"
"data-type": {
"type": "int8"
例 添加之前映像列
对于名为 emp_no
的源列,下面示例中的转换规则会在目标中添加名为 BI_emp_no
的新列。
{
"rules": [{
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "%",
"table-name": "%"
"rule-action": "include"
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-target": "column",
"object-locator": {
"schema-name": "%",
"table-name": "employees"
"rule-action": "add-before-image-columns",
"before-image-def": {
"column-prefix": "BI_",
"column-suffix": "",