Specifica dei mapping tra i tipi di dati di un server di pubblicazione Oracle
In questo argomento viene descritto come specificare i mapping dei tipi di dati per un server di pubblicazione Oracle in SQL Server 2012 tramite SQL Server Management Studio o Transact-SQL. Anche se per i server di pubblicazione Oracle è disponibile un set di mapping predefiniti di tipi di dati, può essere necessario specificare mapping diversi per una determinata pubblicazione.
Contenuto dell'argomento
Per specificare i mapping dei tipi di dati per un server di pubblicazione Oracle, utilizzando:
SQL Server Management Studio
Transact-SQL
Utilizzo di SQL Server Management Studio
Nella scheda Mapping dei dati della finestra di dialogo Proprietà articolo - <Articolo> specificare i mapping tra i tipi di dati. È possibile accedere a questa finestra nella pagina Articoli di Creazione guidata nuova pubblicazione o nella finestra di dialogo Proprietà pubblicazione - <Pubblicazione>. Per ulteriori informazioni sull'utilizzo della procedura guidata e sull'accesso a questa finestra di dialogo, vedere Creazione di una pubblicazione da un database Oracle e Visualizzazione e modifica delle proprietà della pubblicazione.
Per specificare un mapping tra i tipi di dati
Nella pagina Articoli di Creazione guidata nuova pubblicazione o nella finestra di dialogo Proprietà pubblicazione - <Pubblicazione> selezionare una tabella e quindi fare clic su Proprietà articolo.
Fare clic su Imposta proprietà dell'articolo tabella evidenziato.
Nella scheda Mapping dei dati della finestra di dialogo Proprietà articolo - <Articolo>, selezionare i mapping dalla colonna Tipo di dati del Sottoscrittore:
Per alcuni tipi di dati esiste un solo mapping possibile. In tal caso la colonna nella griglia della proprietà è di sola lettura.
Per alcuni tipi è possibile selezionare più tipi di mapping. Microsoft consiglia di utilizzare il mapping predefinito, a meno che l'applicazione utilizzata non richieda un tipo di mapping diverso. Per ulteriori informazioni, vedere Mapping dei tipi di dati per i server di pubblicazione Oracle.
Fare clic su OK.
[Top]
Utilizzo di Transact-SQL
È possibile specificare mapping personalizzati di tipi di dati a livello di programmazione tramite le stored procedure di replica. È inoltre possibile impostare i mapping predefiniti utilizzati per il mapping dei tipi di dati tra un sistema di gestione di database (DBMS) MicrosoftSQL Server e non-SQL Server. Per ulteriori informazioni, vedere Mapping dei tipi di dati per i server di pubblicazione Oracle.
Per definire mapping personalizzati di tipi di dati durante la creazione di un articolo appartenente a una pubblicazione Oracle
Se non esiste già, creare una pubblicazione Oracle.
Nel database di distribuzione eseguire sp_addarticle. Specificare il valore 0 per @use_default_datatypes. Per ulteriori informazioni, vedere Definizione di un articolo.
Nel server di distribuzione eseguire sp_helparticlecolumns per visualizzare il mapping esistente per una colonna in un articolo pubblicato.
Nel server di distribuzione eseguire sp_changearticlecolumndatatype. Specificare il nome del server di pubblicazione Oracle per @publisher, nonché @publication, @article e @column per definire la colonna pubblicata. Specificare il nome del tipo di dati SQL Server di cui eseguire il mapping per @type, nonché @length, @precision e @scale se applicabile.
Nel server di distribuzione eseguire sp_articleview. In questo modo verrà creata la vista utilizzata per generare lo snapshot dalla pubblicazione Oracle.
Per specificare un mapping come mapping predefinito per un tipo di dati
(Facoltativo) In un database del server di distribuzione eseguire sp_getdefaultdatatypemapping. Specificare @source_dbms, @source_type, @destination_dbms, @destination_version e qualsiasi altro parametro necessario per identificare il sistema DBMS di origine. Le informazioni sui tipi di dati attualmente sottoposti a mapping nel sistema DBMS di destinazione vengono restituite tramite parametri di output.
(Facoltativo) In un database del server di distribuzione eseguire sp_helpdatatypemap. Specificare @source_dbms e qualsiasi altro parametro necessario per filtrare il set di risultati. Si noti il valore di mapping_id per il mapping desiderato nel set di risultati.
In un database del database di distribuzione eseguire sp_setdefaultdatatypemapping.
Se si conosce il valore desiderato di mapping_id ottenuto nel passaggio 2, specificarlo per @mapping_id.
Se non si conosce il valore di mapping_id, specificare i parametri @source_dbms, @source_type, @destination_dbms, @destination_type e qualsiasi altro parametro necessario per identificare un mapping esistente.
Per trovare tipi di dati validi per un determinato tipo di dati Oracle
- In un database del server di distribuzione eseguire sp_helpdatatypemap. Specificare il valore ORACLE per @source_dbms e qualsiasi altro parametro necessario per filtrare il set di risultati.
Esempi (Transact-SQL)
In questo esempio viene modificata una colonna con un tipo di dati NUMBER di Oracle in modo che venga eseguito il mapping al tipo di dati numeric (38,38) di SQL Server anziché al tipo di dati predefinito float.
EXEC sp_changearticlecolumndatatype
@publication = 'OraPublication',
@publisher = 'OraPublisher',
@article = 'OraArticle',
@column = 'OraArticleCol',
@type = 'numeric',
@scale = 38,
@precision = 38;
GO
In questo esempio di query vengono restituiti i mapping predefiniti e alternativi per il tipo di dati CHAR di Oracle 9.
EXEC sp_helpdatatypemap
@source_dbms = N'ORACLE',
@source_version = 9,
@source_type = N'CHAR';
GO
In questo esempio di query vengono restituiti i mapping predefiniti per il tipo di dati NUMBER di Oracle 9 quando viene specificato senza scala o precisione.
EXEC sp_helpdatatypemap
@source_dbms = N'ORACLE',
@source_version = 9,
@source_type = N'NUMBER',
@defaults_only = 1;
GO
[Top]
Vedere anche
Concetti
Mapping dei tipi di dati per i server di pubblicazione Oracle
Replica di database eterogenei
Concetti di base relativi alle stored procedure del sistema di replica