Todos os produtos
Search
Central de documentação

DataWorks:SAP HANA

Última atualização: Jun 27, 2026

A fonte de dados SAP HANA permite ler e gravar dados no SAP HANA no DataWorks.

Versões compatíveis

  • DataBase 2.00.048.06.1623425628

  • DataBase 2.00.055.00.161

Limitações

Tipos de campo compatíveis

O SAP HANA Reader oferece suporte aos seguintes tipos de dados.

Categoria de tipo

Tipos de dados

Inteiro

INT, TINYINT, SMALLINT, MEDIUMINT e BIGINT

Ponto flutuante

FLOAT, DOUBLE e DECIMAL

String

VARCHAR, CHAR, TINYTEXT, TEXT, MEDIUMTEXT e LONGTEXT

Data e hora

DATE, DATETIME, TIMESTAMP, TIME e YEAR

Booleano

BIT e BOOL

Binário

TINYBLOB, MEDIUMBLOB, BLOB, LONGBLOB e VARBINARY

Importante

Os tipos de dados não listados acima não têm suporte. O SAP HANA Reader trata tinyint(1) como um número inteiro.

Adicionar uma fonte de dados

Adicione o SAP HANA como fonte de dados no DataWorks antes de desenvolver uma tarefa de sincronização. Para obter instruções, consulte Gerenciamento de fontes de dados.

Nota

As descrições dos parâmetros estão disponíveis diretamente no console do DataWorks ao adicionar a fonte de dados.

Desenvolver uma tarefa de sincronização de dados

Configure uma tarefa de sincronização offline para uma única tabela

Use a interface visual sem código ou o editor de código para configurar a tarefa:

Para consultar todos os parâmetros de script e um exemplo de script, veja Apêndice: Exemplo de script e descrições de parâmetros.

Apêndice: Exemplo de script e descrições de parâmetros

As seções a seguir descrevem os parâmetros de script do Reader e do Writer para tarefas de sincronização em lote configuradas no editor de código. Para requisitos de formato de script, consulte Configure uma tarefa no editor de código.

Exemplo de script do Reader

Todos os exemplos do Reader usam "stepType": "saphana" para identificar o plugin do SAP HANA.

Tabela única em um único banco de dados

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "saphana",
            "parameter": {
                "column": [
                    "id"
                ],
                "connection": [
                    {
                        "querySql": ["select a,b from join1 c join join2 d on c.id = d.id;"],
                        "datasource": "",
                        "table": [
                            "xxx"
                        ]
                    }
                ],
                "where": "",
                "splitPk": "",
                "encoding": "UTF-8"
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": "0"
        },
        "speed": {
            "throttle": true,
            "concurrent": 1,
            "mbps": "12"
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Tabelas fragmentadas

O sharding permite que o SAP HANA Reader leia dados de várias tabelas do SAP HANA. Todas as tabelas fragmentadas devem compartilhar o mesmo schema.

{
    "type": "job",
    "version": "1.0",
    "configuration": {
        "reader": {
            "plugin": "saphana",
            "parameter": {
                "connection": [
                    {
                        "table": [
                            "tbl1",
                            "tbl2",
                            "tbl3"
                        ],
                        "datasource": "datasourceName1"
                    },
                    {
                        "table": [
                            "tbl4",
                            "tbl5",
                            "tbl6"
                        ],
                        "datasource": "datasourceName2"
                    }
                ],
                "singleOrMulti": "multi",
                "splitPk": "db_id",
                "column": [
                    "id", "name", "age"
                ],
                "where": "1 < id and id < 100"
            }
        },
        "writer": {}
    }
}

Parâmetros de script do Reader

Parâmetro

Descrição

Obrigatório

Valor padrão

username

Nome de usuário do banco de dados SAP HANA.

Sim

Nenhum

password

Senha do banco de dados SAP HANA.

Sim

Nenhum

column

Colunas a sincronizar. Use * para sincronizar todas as colunas. Se o nome de uma coluna contiver uma barra (/), coloque-o entre aspas duplas e escape as aspas com barras invertidas. Por exemplo, para uma coluna chamada /abc/efg, defina o valor como \\"/abc/efg\\".

Sim

Nenhum

table

Nome da tabela a sincronizar. Especifique o valor como um array, mesmo para uma única tabela.

Sim

Nenhum

jdbcUrl

URL JDBC (Java Database Connectivity) do banco de dados SAP HANA. Exemplo: jdbc:sap://127.0.0.1:30215?currentschema=TEST.

Sim

Nenhum

splitPk

Coluna numérica inteira usada como chave de divisão para sincronização simultânea. Caso não exista tal coluna, deixe este campo em branco.

Não

Nenhum

Exemplo de script do Writer

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "saphana",
            "parameter": {
                "postSql": [],
                "datasource": "",
                "column": [
                    "id",
                    "value"
                ],
                "batchSize": 1024,
                "table": "",
                "preSql": [
                    "delete from XXX;"
                ]
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": "0"
        },
        "speed": {
            "throttle": true,
            "concurrent": 1,
            "mbps": "12"
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Parâmetros de script do Writer

Parâmetro

Descrição

Obrigatório

Valor padrão

datasource

Nome da fonte de dados. Deve corresponder ao nome configurado no editor de código.

Sim

Nenhum

table

Nome da tabela de destino.

Sim

Nenhum

column

Colunas de destino para gravação de dados, especificadas como um array. Exemplo: ["id", "name", "age"]. Use ["*"] para gravar em todas as colunas sequencialmente. Se o nome de uma coluna contiver uma barra (/), coloque-o entre aspas duplas e escape as aspas com barras invertidas. Por exemplo, para uma coluna chamada /abc/efg, defina o valor como \\"/abc/efg\\".

Sim

Nenhum

preSql

Instrução SQL executada antes do início da tarefa de sincronização. Útil para limpar dados antigos antes do carregamento. Exemplo: truncate table tablename. A interface visual sem código aceita apenas uma instrução. O editor de código aceita múltiplas instruções, mas não oferece suporte a atomicidade transacional.

Não

Nenhum

postSql

Instrução SQL executada após a conclusão da tarefa de sincronização. A interface visual sem código aceita apenas uma instrução, enquanto o editor de código aceita múltiplas. Exemplo: ALTER TABLE tablename ADD colname TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP.

Não

Nenhum

batchSize

Quantidade de registros confirmados em um único lote. Valores maiores reduzem as idas e vindas na rede e aumentam o throughput, mas valores excessivos podem causar erros de falta de memória (OOM).

Não

1024