Angeben von Datentypzuordnungen für einen Oracle-Verleger

Gilt für:SQL Server

In diesem Thema wird beschrieben, wie Sie Datentypzuordnungen für einen Oracle Publisher in SQL Server 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 Publikation und im Dialogfeld "Publikationseigenschaften - <Publikation> " 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 "Neue Publikation" oder im Dialogfeld "Publikationseigenschaften – <Publikation>" 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<>" die Zuordnungen aus der Spalte "Abonnentendatentyp" 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 Standardzuordnung zu verwenden, es sei denn, Ihre Anwendung erfordert eine andere Zuordnung. Weitere Informationen finden Sie unter Data Type Mapping for Oracle Publishers.

  4. Klickan 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 den Wert 0 für @use_default_datatypesan. 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-Verlegers für @publishersowie @publication, @articleund @column an, um die veröffentlichte Spalte zu definieren. Geben Sie den Namen des SQL Server-Datentyps an, dem @type zugeordnet werden soll, sowie @length, @precision und @scale, sofern zutreffend.

  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_versionund andere 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 benötigt werden. 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, der in Schritt 2 ermittelt wurde, geben Sie diesen Wert für @mapping_idan.

    • Wenn Sie den Wert für mapping_idnicht kennen, geben Sie die Parameter @source_dbms, @source_type, @destination_dbms, @destination_typesowie 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 den Wert ORACLE für @source_dbms sowie alle anderen Parameter an, die zum Filtern des Resultsets benötigt werden.

Beispiele (Transact-SQL)

In diesem Beispiel wird eine Spalte mit dem Oracle-Datentyp NUMBER so geändert, dass sie sql Server-Datentyp numerisch(38,38) anstelle des Standarddatentyps float zugeordnet ist.

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 CHARzurü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

Datentypzuordnung für Oracle-Verleger
Heterogene Datenbankreplikation
Replication System Stored Procedures Concepts
Konfigurieren eines Oracle-Verlegers