Angeben von Datentypzuordnungen für einen Oracle-Verleger
In diesem Thema wird beschrieben, wie Datentypzuordnungen für einen Oracle-Verleger in SQL Server 2012 mit SQL Server Management Studio oder Transact-SQL angegeben werden. 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
So geben Sie Datentypzuordnungen für einen Oracle-Verleger an mit:
SQL Server Management Studio
Transact-SQL
Verwendung von SQL Server Management Studio
Die Datentypzuordnungen werden auf der Registerkarte Datenzuordnung des Dialogfelds Artikeleigenschaften – <Artikel> angegeben. Diese Registerkarte ist über die Seite Artikel des Assistenten für neue Veröffentlichung bzw. vom 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
Wählen Sie im Assistenten für neue Veröffentlichung auf der Seite Artikel bzw. im Dialogfeld Veröffentlichungseigenschaften – <Veröffentlichung> eine Tabelle aus, und klicken Sie dann auf Artikeleigenschaften.
Klicken Sie auf die Option Eigenschaften des hervorgehobenen Tabelle-Artikels festlegen.
Wählen Sie auf der Registerkarte Datenzuordnung des Dialogfelds Artikeleigenschaften – <Artikel> in der Spalte Abonnentendatentyp Zuordnungen aus:
Bei einigen Datentypen gibt es nur eine mögliche Zuordnung. In diesen Fällen ist die Spalte in der Eigenschaftentabelle nicht aktualisierbar.
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 Datentypzuordnung für Oracle-Verleger.
Klicken Sie auf OK.
[Top]
Verwendung 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-Managementsystem (DBMS) verwendet werden. Weitere Informationen finden Sie unter Datentypzuordnung für Oracle-Verleger.
So definieren Sie benutzerdefinierte Datentypzuordnungen beim Erstellen eines Artikels, der zu einer Oracle-Veröffentlichung gehört
Erstellen Sie eine Oracle-Veröffentlichung, sofern noch nicht vorhanden.
Führen Sie auf dem Verteiler sp_addarticle aus. Geben Sie den Wert 0 für @use_default_datatypes an. Weitere Informationen finden Sie unter Definieren eines Artikels.
Führen Sie auf dem Verteiler sp_helparticlecolumns aus, um die vorhandene Zuordnung für eine Spalte in einem veröffentlichten Artikel anzuzeigen.
Führen Sie auf dem Verteiler sp_changearticlecolumndatatype aus. Geben Sie den Namen des Oracle-Verlegers für @publisher sowie @publication, @article und @column an, um die veröffentlichte Spalte zu definieren. Geben Sie den Namen des SQL Server-Datentyps, der zugeordnet werden soll, für @type sowie nach Bedarf @length, @precision und @scale an.
Führen Sie auf dem Verteiler sp_articleview aus. 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
(Optional) Führen Sie auf dem Verteiler für eine beliebige Datenbank sp_getdefaultdatatypemapping aus. Geben Sie @source_dbms, @source_type, @destination_dbms, @destination_version und 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.
(Optional) Führen Sie auf dem Verteiler für eine beliebige Datenbank sp_helpdatatypemap aus. 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.
Führen Sie auf dem Verteiler für eine beliebige Datenbank sp_setdefaultdatatypemapping aus.
Wenn Sie den gewünschten Wert von mapping_id kennen, der in Schritt 2 ermittelt wurde, geben Sie diesen Wert für @mapping_id an.
Wenn Sie den Wert für mapping_id nicht kennen, geben Sie die Parameter @source_dbms, @source_type, @destination_dbms, @destination_type sowie alle anderen Parameter an, die zum Identifizieren einer vorhandenen Zuordnung erforderlich sind.
So suchen Sie gültige Datentypen für einen bestimmten Oracle-Datentyp
- Führen Sie auf dem Verteiler für eine beliebige Datenbank sp_helpdatatypemap aus. 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 geändert, sodass er dem SQL Server-Datentyp numeric (38,38) anstelle des Standarddatentyps float zugeordnet 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
[Top]
Siehe auch
Konzepte
Datentypzuordnung für Oracle-Verleger
Heterogene Datenbankreplikation
Konzepte für gespeicherte Systemprozeduren für die Replikation