Todos os produtos
Search
Central de documentação

DataWorks:DM (Dameng)

Última atualização: Sep 24, 2026

O DataWorks Data Integration oferece suporte ao DM (Dameng) como origem e destino para sincronização em lote offline. Use o DM Reader para extrair dados de bancos de dados DM e o DM Writer para carregá-los.

Capacidades

Capacidade

DM Reader

DM Writer

Sincronização offline (em lote)

Sim

Sim

Leitura de views

Sim

—

Seleção de colunas

Sim

—

Reordenação de colunas

Sim

—

Leitura paralela (splitPk)

Sim (apenas colunas de tipo inteiro)

—

Sincronização incremental (where)

Sim

—

Execução de Pre SQL

Sim

Sim

Execução de Post SQL

—

Sim

Grupos de recursos Serverless

Sim

Sim

Grupos de recursos exclusivos para Data Integration

Sim

Sim

Tipos de campos suportados

O DM Reader e o DM Writer oferecem suporte à maioria dos tipos de dados comuns de bancos de dados relacionais. A tabela a seguir lista os tipos de dados DM que o DM Reader consegue converter. Tipos não suportados causam erro de leitura — verifique o esquema antes de configurar uma tarefa de sincronização.

Categoria

Tipos de dados DM

Inteiro

INT, TINYINT, SMALLINT, BIGINT

Ponto flutuante

REAL, FLOAT, DOUBLE, NUMBER, DECIMAL

String

CHAR, VARCHAR, LONGVARCHAR, TEXT

Data e hora

DATE, DATETIME, TIMESTAMP, TIME

Booleano

BIT

Binário

BINARY, VARBINARY, BLOB

Configure uma tarefa de sincronização

Sincronização offline de tabela única

Configure a tarefa por meio da interface sem código ou do editor de código:

Para a referência completa do script e a descrição dos parâmetros, consulte Referência de script.

Sincronização offline de banco de dados inteiro

Consulte Batch database synchronization configuration.

Referência de script

Ao configurar uma tarefa de sincronização em lote no editor de código, utilize o formato de script unificado. As seções a seguir abordam os parâmetros específicos do DM para Reader e Writer.

Reader

Exemplo de script

{
  "type": "job",
  "version": "2.0",
  "order": {
    "hops": [
      { "from": "Reader", "to": "Writer" }
    ]
  },
  "setting": {
    "errorLimit": { "record": "0" },
    "speed": {
      "throttle": true,
      "concurrent": 1,
      "mbps": "12"
    }
  },
  "steps": [
    {
      "category": "reader",
      "name": "Reader",
      "stepType": "dm",
      "parameter": {
        "datasource": "dm_datasource",
        "table": "table",
        "column": ["*"],
        "preSql": ["delete from XXX;"],
        "fetchSize": 2048
      }
    },
    {
      "category": "writer",
      "name": "Writer",
      "stepType": "stream",
      "parameter": {}
    }
  ]
}

Parâmetros do Reader

Parâmetro

Obrigatório

Padrão

Descrição

datasource

Sim

—

Nome da fonte de dados DM. Consulte Configure a DM data source.

table

Sim

—

Tabela da qual os dados serão lidos.

column

Sim

—

Colunas a sincronizar, em formato de array JSON. Use ["*"] para todas as colunas. Permite seleção de colunas, reordenação e constantes (inteiro, string, null, expressão de função, ponto flutuante, booleano).

splitPk

Não

Vazio

Coluna usada para dividir os dados em leituras paralelas. Defina como a chave primária para distribuição uniforme e para evitar pontos de concentração de dados. Apenas colunas de tipo inteiro são aceitas — tipos de ponto flutuante, string, data e outros geram erro. Sem essa definição, a tabela é lida em um único canal.

where

Não

—

Condição de filtro SQL adicionada à consulta — por exemplo, gmt_create>$bizdate para sincronização incremental ou limit 10 para testes. Sem essa definição, todas as linhas são lidas.

querySql

Não

—

Consulta SQL personalizada — por exemplo, select a,b from table_a join table_b on table_a.id = table_b.id. Quando definido, os parâmetros column, table e where são ignorados.

fetchSize

Não

1.024

Número de linhas obtidas por lote. Valores mais altos reduzem as viagens de ida e volta na rede e melhoram a vazão. Valores acima de 2.048 podem causar erro de falta de memória (OOM).

preSql

Não

—

Instrução SQL executada antes do início da tarefa de sincronização. Apenas uma instrução é aceita.

Writer

Exemplo de script

{
  "type": "job",
  "version": "2.0",
  "order": {
    "hops": [
      { "from": "Reader", "to": "Writer" }
    ]
  },
  "setting": {
    "errorLimit": { "record": "" },
    "speed": {
      "throttle": true,
      "concurrent": 2,
      "mbps": "12"
    }
  },
  "steps": [
    {
      "category": "reader",
      "name": "Reader",
      "stepType": "oracle",
      "parameter": {
        "datasource": "aaa",
        "column": ["PROD_ID", "name"],
        "where": "",
        "splitPk": "",
        "encoding": "UTF-8",
        "table": "PENGXI.SALES"
      }
    },
    {
      "category": "writer",
      "name": "Writer",
      "stepType": "dm",
      "parameter": {
        "datasource": "dm_datasource",
        "table": "table",
        "column": ["id", "name"],
        "preSql": ["delete from XXX;"]
      }
    }
  ]
}

Parâmetros do Writer

Parâmetro

Obrigatório

Padrão

Descrição

datasource

Sim

—

Nome da fonte de dados DM. Consulte Configure a DM data source.

table

Sim

—

Tabela de destino. Se o esquema da tabela for diferente do nome de usuário na configuração da fonte de dados, use o formato schema.table.

column

Sim

—

Colunas de destino para gravação, separadas por vírgulas. Não use as configurações padrão de colunas.

preSql

Não

—

Instrução SQL executada antes do início da tarefa de sincronização — por exemplo, para limpar dados antigos. Apenas uma instrução é aceita; múltiplas instruções desabilitam o suporte a transações.

postSql

Não

—

Instrução SQL executada após a conclusão da tarefa de sincronização — por exemplo, para adicionar um timestamp. Apenas uma instrução é aceita; múltiplas instruções desabilitam o suporte a transações.

batchSize

Não

1.024

Número de linhas gravadas por lote. Valores mais altos reduzem as interações de rede e melhoram a vazão. Valores excessivamente grandes podem causar erro de OOM.

Próximos passos