Tüm Ürünler
Search
Belge Merkezi

DataWorks:KingbaseES

Son Güncelleme:Oct 05, 2026

KingbaseES veri kaynağı, KingbaseES ile DataWorks Veri Entegrasyonu arasında çift yönlü veri senkronizasyonu sağlar. Bu kaynağı kullanarak verileri KingbaseES'ten işlem hattınıza okuyabilir veya işlenmiş verileri tekrar KingbaseES'e yazabilirsiniz.

Sınırlamalar

Desteklenen alan türleri

Aşağıdaki tabloda KingbaseES Reader tarafından desteklenen veri türleri listelenmiştir. Listede yer almayan alan türleri desteklenmez.

Kategori Veri türleri Notlar
Tamsayı INT, TINYINT, SMALLINT, MEDIUMINT, BIGINT tinyint(1) boolean değil, tamsayı olarak değerlendirilir
Kayan nokta FLOAT, DOUBLE, DECIMAL
Dize VARCHAR, CHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT
Tarih ve saat DATE, DATETIME, TIMESTAMP, TIME, YEAR
Boolean BIT, BOOL
İkili TINYBLOB, MEDIUMBLOB, BLOB, LONGBLOB, VARBINARY

Veri kaynağı ekleme

Bir senkronizasyon görevi geliştirmeden önce DataWorks'te KingbaseES veri kaynağını ekleyin. Talimatlar için bkz. Veri kaynağı yönetimi. Parametre açıklamaları, veri kaynağını eklerken DataWorks konsolunda mevcuttur.

Senkronizasyon görevi geliştirme

Tek tablo için çevrimdışı senkronizasyon görevini yapılandırma

Çevrimdışı bir senkronizasyon görevini yapılandırmak için aşağıdaki yöntemlerden birini kullanın:

Kod düzenleyicisi için tüm parametreler ve örnek bir betik için bkz. Ek: Betik demosu ve parametre açıklamaları.

Ek: Betik demosu ve parametre açıklamaları

Kod düzenleyicisini kullanarak toplu iş senkronizasyon görevi yapılandırmak için birleşik betik formatına uygun olarak betikteki gerekli parametreleri ayarlayın. Daha fazla bilgi için bkz. Kod düzenleyicisinde görev yapılandırma.

Reader betik demosu

Tek veritabanı ve tek tablo

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "kingbasees",
            "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"
            }
        ]
    }
}

Parçalanmış veritabanları ve tablolar

Parçalanmış tablolar kullanılırken, seçilen tüm KingbaseES tablolarının şeması aynı olmalıdır.
{
    "type": "job",
    "version": "1.0",
    "configuration": {
        "reader": {
            "plugin": "kingbasees",
            "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": {}
    }
}

Reader parametreleri

Parametre Açıklama Zorunlu Varsayılan
username KingbaseES'e bağlanmak için kullanılan kullanıcı adı. Hayır Yok
password KingbaseES'e bağlanmak için kullanılan parola. Hayır Yok
column Senkronize edilecek alanlar. Tüm sütunları senkronize etmek için * kullanın. Hayır Yok
table Senkronize edilecek tablonun adı. Tek bir tablo için bile dizi formatını kullanın: ["tablename"]. Hayır Yok
jdbcUrl KingbaseES'e bağlanmak için Java Database Connectivity (JDBC) URL'si. Örnek: jdbc:kingbase8://127.0.0.1:30215?currentschema=TEST. Hayır Yok
querySql Verileri filtrelemek için kullanılan özel SQL sorgusu. Belirtildiğinde Reader, table, column ve where parametrelerini yoksayar ve doğrudan bu sorguyu kullanır. Hayır Yok
where Tabloya uygulanan filtre koşulu. querySql belirtildiğinde yoksayılır. Hayır Yok
splitPk Yüksek eşzamanlı senkronizasyonu etkinleştirmek için bölme anahtarı olarak kullanılan KingbaseES tablosundaki sayısal tamsayı alanı. Böyle bir alan yoksa boş bırakın. Hayır Yok
encoding Verilerin kodlama formatı. Hayır UTF-8

Writer betik demosu

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "kingbasees",
            "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"
            }
        ]
    }
}

Writer parametreleri

Parametre Açıklama Zorunlu Varsayılan
datasource Veri kaynağının adı. DataWorks'te eklenen veri kaynağının adıyla eşleşmelidir. Evet Yok
table Hedef tablonun adı. Evet Yok
column Verilerin yazılacağı hedef tablodaki alanlar. Birden fazla alanı virgülle ayırın. Örnek: ["id", "name", "age"]. Tüm sütunlara sırayla yazmak için ["*"] kullanın. Bir alan adı eğik çizgi (/) içeriyorsa kaçış karakteri kullanın: \"/field/name\". Evet Yok
preSql Senkronizasyon görevi başlamadan önce çalıştırılacak SQL ifadesi. Hedef tabloyu hazırlamak için bunu kullanın; örneğin: truncate table tablename. Kodsuz kullanıcı arayüzü tek bir ifadeyi destekler; kod düzenleyicisi birden fazla ifadeyi destekler. Birden fazla ifade işlem bütünlüğünü desteklemez. Hayır Yok
postSql Senkronizasyon görevi tamamlandıktan sonra çalıştırılacak SQL ifadesi. Örneğin: alter table tablename add colname timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP. Kodsuz kullanıcı arayüzü tek bir ifadeyi destekler; kod düzenleyicisi birden fazla ifadeyi destekler. Hayır Yok
batchSize Tek bir toplu işte gönderilecek kayıt sayısı. Daha büyük değerler ağ gidiş dönüşlerini azaltır ve aktarım hızını artırır ancak çok büyük değerler bellek yetersizliği (OOM) hatalarına neden olabilir. Hayır 1024