Angeben von Datentypzuordnungen für einen Oracle-Verleger

Gilt für:yesSQL Server (alle unterstützten Versionen)

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<>" an. Dies ist auf der Seite " Artikel " des Assistenten "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 des Dialogfelds "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 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-Datenbank-Manager (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 einen Wert von 0 für @use_default_datatypes an. 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, der @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_version und alle anderen Parameter an, die zum Identifizieren der 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 Ergebnissatzes 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, der in Schritt 2 abgerufen wurde, 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 Ergebnissatzes erforderlich sind.

Beispiele (Transact-SQL)

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

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

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