Freigeben über


Angeben von Datentypzuordnungen für einen Oracle-Verleger

In diesem Thema wird beschrieben, wie Sie Datentypzuordnungen für einen Oracle Publisher in SQL Server 2014 mithilfe von SQL Server Management Studio oder Transact-SQL angeben. Obwohl eine Gruppe von Standard-Datentypzuordnungen für Oracle-Verleger bereitgestellt wird, ist es möglicherweise erforderlich, für eine bestimmte Veröffentlichung andere Zuordnungen anzugeben.

In diesem Thema

Verwendung von SQL Server Management Studio

Geben Sie Datentypzuordnungen auf der Registerkarte Datenzuordnung des Dialogfelds Artikeleigenschaften – <Artikel> an. Dies ist auf der Seite Artikel des Assistenten für neue Veröffentlichungen und im Dialogfeld Veröffentlichungseigenschaften – <Veröffentlichung> verfügbar. Weitere Informationen zum Verwenden des Assistenten sowie zum Zugriff auf das Dialogfeld finden Sie unter Erstellen einer Veröffentlichung aus einer Oracle-Datenbank und Anzeigen und Ändern von Veröffentlichungseigenschaften.

So geben Sie eine Datentypzuordnung an

  1. Wählen Sie auf der Seite Artikel des Assistenten für neue Veröffentlichung oder im Dialogfeld Veröffentlichungseigenschaften – <Veröffentlichung> eine Tabelle aus, und klicken Sie dann auf Artikeleigenschaften.

  2. Klicken Sie auf die Option Eigenschaften des hervorgehobenen Tabelle-Artikels festlegen.

  3. Wählen Sie auf der Registerkarte Datenzuordnung des Dialogfelds Artikeleigenschaften – <Artikel> in der Spalte Abonnentendatentyp die Option Zuordnungen aus:

    • Bei bestimmten Datentypen gibt es nur eine mögliche Zuordnung. In diesem Fall ist die Spalte im Eigenschaftenraster schreibgeschützt.

    • Für einige Typen sind mehrere Typen zur Auswahl vorhanden. Microsoft empfiehlt die Verwendung der Standardzuordnung, sofern die Anwendung keine andere Zuordnung erfordert. Weitere Informationen finden Sie unter Data Type Mapping for Oracle Publishers.

  4. Klicken Sie auf OK.

Verwenden von Transact-SQL

Sie können benutzerdefinierte Datentypzuordnungen programmgesteuert mithilfe von gespeicherten Replikationsprozeduren angeben. Sie können auch die Standardzuordnungen festlegen, die beim Zuordnen von Datentypen zwischen Microsoft SQL Server und einem nicht SQL Server Datenbankverwaltungssystem (DBMS) verwendet werden. Weitere Informationen finden Sie unter Data Type Mapping for Oracle Publishers.

So definieren Sie benutzerdefinierte Datentypzuordnungen beim Erstellen eines Artikels, der zu einer Oracle-Veröffentlichung gehört

  1. Erstellen Sie eine Oracle-Veröffentlichung, sofern noch nicht vorhanden.

  2. Führen Sie auf dem Verteiler sp_addarticleaus. Geben Sie für @use_default_datatypes den Wert 0an. Weitere Informationen finden Sie unter Definieren eines Artikels.

  3. Führen Sie auf dem Verteiler sp_helparticlecolumns aus, um die vorhandene Zuordnung für eine Spalte in einem veröffentlichten Artikel anzuzeigen.

  4. Führen Sie auf dem Verteiler sp_changearticlecolumndatatypeaus. Geben Sie den Namen des Oracle Publisher für @publisher sowie @publication, @article und @column an, um die veröffentlichte Spalte zu definieren. Geben Sie den Namen des SQL Server Datentyps an, dem @type zugeordnet werden soll, sowie ggf. @length, @precision und @scale.

  5. Führen Sie auf dem Verteiler sp_articleviewaus. Dies erstellt die Sicht, mit der die Momentaufnahme der Oracle-Veröffentlichung generiert wird.

So geben Sie eine Zuordnung als Standardzuordnung für einen Datentyp an

  1. (Optional) Führen Sie auf dem Verteiler für eine beliebige Datenbank sp_getdefaultdatatypemappingaus. Geben Sie @source_dbms, @source_type, @destination_dbms, @destination_version und alle anderen Parameter an, die zum Identifizieren des Quell-DBMS erforderlich sind. Informationen über den gerade zugeordneten Datentyp im Ziel-DBMS werden mit den Ausgabeparametern zurückgegeben.

  2. (Optional) Führen Sie auf dem Verteiler für eine beliebige Datenbank sp_helpdatatypemapaus. Geben Sie @source_dbms und alle anderen Parameter an, die zum Filtern des Resultsets erforderlich sind. Notieren Sie den Wert von mapping_id für die gewünschte Zuordnung im Resultset.

  3. Führen Sie auf dem Verteiler für eine beliebige Datenbank sp_setdefaultdatatypemappingaus.

    • Wenn Sie den gewünschten Wert von mapping_id kennen, den Sie in Schritt 2 erhalten haben, geben Sie ihn für @mapping_id an.

    • Wenn Sie die mapping_id nicht kennen, geben Sie die Parameter @source_dbms, @source_type, @destination_dbms, @destination_type und alle anderen Parameter an, die zum Identifizieren einer vorhandenen Zuordnung erforderlich sind.

So suchen Sie gültige Datentypen für einen bestimmten Oracle-Datentyp

  1. Führen Sie auf dem Verteiler für eine beliebige Datenbank sp_helpdatatypemapaus. Geben Sie einen Wert von ORACLE für @source_dbms und alle anderen Parameter an, die zum Filtern des Resultsets erforderlich sind.

Beispiele (Transact-SQL)

In diesem Beispiel wird eine Spalte mit dem Oracle-Datentyp NUMBER geändert, sodass sie SQL Server Datentyp numeric(38,38) anstelle des Standarddatentyps floatzugeordnet wird.

EXEC sp_changearticlecolumndatatype 
    @publication = 'OraPublication', 
    @publisher = 'OraPublisher', 
    @article = 'OraArticle', 
    @column = 'OraArticleCol', 
    @type = 'numeric', 
    @scale = 38, 
    @precision = 38;
GO

Diese Beispielabfrage gibt die Standardzuordnungen sowie die alternativen Zuordnungen für den Oracle 9-Datentyp CHAR zurück.

EXEC sp_helpdatatypemap 
    @source_dbms = N'ORACLE', 
    @source_version = 9,
    @source_type = N'CHAR';
GO

Diese Beispielabfrage gibt die Standardzuordnungen für den Oracle 9-Datentyp NUMBER zurück, wenn er ohne Dezimalstellenangabe oder Genauigkeit angegeben wird.

EXEC sp_helpdatatypemap 
    @source_dbms = N'ORACLE', 
    @source_version = 9,
    @source_type = N'NUMBER',
    @defaults_only = 1;
GO

Weitere Informationen

Data Type Mapping for Oracle Publishers
Heterogene Datenbankreplikation
Replication System Stored Procedures Concepts
Konfigurieren eines Oracle-Verlegers