Veri senkronizasyonu veya geçişi için Data Transmission Service (DTS) kullanırken, hedef veritabanı AnalyticDB for MySQL 3,0 ise DTS çok tablolu birleştirme özelliği sunar. Bu özellik, kaynak veritabanındaki aynı yapıya sahip birden fazla tabloyu tek bir hedef tabloda birleştirmenize olanak tanır; bu sayede veri geçişi ve entegrasyonu daha verimli ve kolay hale gelir.
Ön koşullar
Hedefi AnalyticDB for MySQL 3,0 olarak ayarlanmış bir geçiş veya senkronizasyon görevi oluşturun ve Configure Objects and Advanced Settings adımına ilerleyin. İlgili yapılandırma belgelerini Senkronizasyon Çözümüne Genel Bakış veya Geçiş Çözümüne Genel Bakış bölümlerinde bulabilirsiniz.
Kullanım notları
Veri doğrulama etkinleştirilmiş görevler için çok tablolu birleştirmeyi etkinleştiremezsiniz.
Çok tablolu birleştirme etkinleştirilmiş artımlı görevler DDL işlemlerini desteklemez. Kaynak veritabanında bir DDL işlemi yapmanız veri kaybına veya görev hatasına neden olabilir.
Yordam
Bu bölümde, bir DTS veri senkronizasyonu örneği için çok tablolu birleştirmenin nasıl etkinleştirileceği gösterilmektedir.
Configure Objects and Advanced Settings adımına gidin ve Merge Tables bölümünden önceki tüm parametreleri yapılandırın.
Merge Tables bölümünde Yes seçeneğini belirleyin.
-
İsteğe bağlı: Set the value of __dts_data_source için No seçeneğini belirleyin.
NotEtiket sütunu adını ve değerlerini özelleştirme yalnızca abonelik örnekleri için desteklenir.
Source Objects bölmesinde senkronize etmek istediğiniz tabloları seçin ve ardından bunları Selected Objects bölmesine taşımak için
simgesine tıklayın.-
Selected Objects bölmesinde senkronize edilecek bir tabloya sağ tıklayın. Edit Table iletişim kutusunda Table Name değerini değiştirin.
NotTable Name değeri, hedef veritabanındaki tablonun adıdır.
İşlem, Table Name değerini değiştirmeye benzer. Edit Table iletişim kutusunda tablo adını hedef bir ada (örneğin
person_new) değiştirebilir, bir filter condition (tam ve artımlı senkronizasyon için geçerli olan standart SQL WHERE yan tümcelerini destekler) ayarlayabilir, senkronize edilecek DML operationları (insert, update veya delete) seçebilir ve senkronize edilecek sütunları (örneğin p_name ve p_id) belirleyebilirsiniz. İşlemi tamamladığınızda OK düğmesine tıklayın. -
Seçilen tüm tablolar için Table Name değerini değiştirmek üzere önceki adımı tekrarlayın.
ÖnemliBirleştirilecek tüm tablolar için aynı Table Name değerini belirtmeniz gerekir.
-
Kalan görev yapılandırmasını tamamlamak için ekrandaki talimatları ve referans belgeleri izleyin.
3 adımında Set the value of __dts_data_source için Yes seçeneğini belirlediyseniz Configure Database and Table Fields adımında ayrıca Value of __dts_data_source değerini de ayarlamanız gerekir.
NotValue of __dts_data_source sütunundaki değer her tablo için benzersiz olmalıdır.
Configure Database and Table Fields sayfasında Value of __dts_data_source sütununu bulun ve her kaynak tablo için benzersiz bir değer girin. Bu sayfadaki diğer sütunlar şunlardır: Schema Name, Table Name, Type (örneğin, bölümlenmiş tablo), Primary Key Column ve Distribution Key.
SSS
__dts_data_source sütunu nasıl sorgulanır?
Çok tablolu birleştirmeyi etkinleştirdikten sonra DTS, veri kaynağını kaydetmek amacıyla hedef tabloya otomatik olarak bir __dts_data_source sütunu (metin türünde) ekler. Sütunu sorgulamak için aşağıdaki sözdizimini kullanın:
SELECT __dts_data_source FROM <destination_table_name>;
Döndürülen değer DTS instance ID:database name:schema name:table name biçimini kullanır; örneğin dts:dtstestdata:testschema:customer1.
Sorgu "Column cannot be resolved" hata iletisiyle başarısız oluyor
Bu hatayla karşılaşırsanız aşağıdaki öğeleri kontrol edin:
DTS görevi için çok tablolu birleştirmenin etkinleştirilip etkinleştirilmediği. Çok tablolu birleştirme etkinleştirilmemişse hedef tablo
__dts_data_sourcesütununu içermez.Kaynak veritabanı yerine hedef veritabanını sorgulayıp sorgulamadığınız.
Sütun adının tek alt çizgi yerine çift alt çizgi ön eki (
__dts_data_source) kullanıp kullanmadığı.