Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questo argomento vengono fornite informazioni per risolvere i problemi relativi agli utenti consumer di dati.
SQL Server Integration Services
Sistema di Single Sign-On aziendale
Quando si usa Enterprise Single Sign-On con SQL Server Integration Services, potrebbe essere necessario immettere il valore segnaposto MS$SAME per il nome utente e la password. Usando i collegamenti dati, è possibile configurare ESSO per l'uso con SSIS.
Nella finestra di dialogo Connessione fare clic su Single Sign-On per il metodo Security.
Selezionare un'applicazione affiliata dalla casella di riepilogo a discesa.
Nella finestra di dialogo Tutti fare clic su Password e quindi su Modifica valore. Nella finestra di dialogo Modifica valore proprietà immettere MS$SAME per Valore proprietà e fare clic su OK.
Nella finestra di dialogo Tutti fare clic su ID utente e quindi su Modifica valore. Nella finestra di dialogo Modifica valore proprietà immettere MS$SAME per Valore proprietà e fare clic su OK.
Nella finestra di dialogo Connessione fare clic su Test. È possibile visualizzare i risultati nella finestra di dialogo Collegamenti dati Microsoft.
Fare clic su OK per salvare le informazioni di configurazione.
FastLoad per inserire il valore TIMESTAMP
Quando si usa la destinazione OLE DB di SQL Server Integration Services con FastLoad per inserire valori datetime o datetime2 di SQL Server in una colonna DB2 TIMESTAMP, è possibile che si verifichi questo errore.
LA RAPPRESENTAZIONE DI STRINGA DI UN VALORE DATETIME NON È UN VALORE DATETIME VALIDO
Per risolvere questo problema, è necessario impostare la proprietà Origine dati Del provider di dati Usa metadati iniziali su true.
Use Early Metadata=True
Mapping dei tipi di dati
Quando si usano le procedure guidate importazione/esportazione di SQL Server Integration Services, da Microsoft SQL Server Management Studio o Business Intelligence Design Studio, è possibile personalizzare le conversioni di dati predefinite modificando i file di mapping XML. I file di mapping XML dell'Importazione/Esportazione guidata si trovano nella cartella seguente.
C:\Program Files\Microsoft SQL Server\100\DTS\MappingFiles
C:\Program Files (x86)\Microsoft SQL Server\100\DTS\MappingFiles
Per eseguire correttamente il mapping dei tipi di dati character e decimal di IBM DB2 per IBM i ai tipi di dati di SQL Server, è necessario estendere i file di mapping dei dati per includere il sinonimo esteso del tipo di dati DB2. Ad esempio, aggiungere il mapping del tipo di dati seguente tra l'origine DB2 INTEGER e SQL Server. Questo mapping è compatibile con SQLOLEDB, SQLNCL, SQLNCLI10 e System.Data.SqlClient.SqlConnection. Sostituisce il valore SourceDataType in formato breve INT con il formato long INTEGER.
Il seguente mapping per DB2 INT è compatibile con una sorgente DB2 per z/OS V9.
<!-- INT -->
<dtm:DataTypeMapping>
<dtm:SourceDataType>
<dtm:DataTypeName>INT</dtm:DataTypeName>
</dtm:SourceDataType>
<dtm:DestinationDataType>
<dtm:SimpleType>
<dtm:DataTypeName>INT</dtm:DataTypeName>
</dtm:SimpleType>
</dtm:DestinationDataType>
</dtm:DataTypeMapping>
Il seguente mapping dei tipi di dati per DB2 INTEGER è compatibile con un'origine DB2 per IBM i V6R1.
<!-- INTEGER -->
<dtm:DataTypeMapping>
<dtm:SourceDataType>
<dtm:DataTypeName>INTEGER</dtm:DataTypeName>
</dtm:SourceDataType>
<dtm:DestinationDataType>
<dtm:SimpleType>
<dtm:DataTypeName>INT</dtm:DataTypeName>
</dtm:SimpleType>
</dtm:DestinationDataType>
</dtm:DataTypeMapping>
File di mapping dei tipi di dati
Nella tabella seguente vengono descritti i tre file di mapping che è possibile modificare quando si usa il provider di dati.
| Nome tipo di dati DB2 | DB2ToMSSql | DB2ToMSSql10 | DB2ToSSIS10 |
|---|---|---|---|
| TEMPO | DATETIME | Tempo | DT_DBTIME |
| TIMESTAMP | datetime | datetime2 | DT_DBTIMESTAMP2 |
| DATTERO | DATETIME | DATTERO | DT_DBDATE |
| CHAR | CHAR | CHAR | DT_STR |
| CHAR () PER DATI DI BIT | BINARY | BINARY | DT_BYTES |
| CHAR () PER DATI MISTI | NCHAR | NCHAR | DT_WSTR |
| CHAR () PER DATI SBCS | CHAR | CHAR | DT_STR |
| CHARACTER | CHAR | CHAR | DT_STR |
| CARATTERE () PER DATI BINARI | BINARY | BINARY | DT_BYTES |
| CARATTERE () PER DATI MISTI | NCHAR | NCHAR | DT_WSTR |
| CARATTERE () PER DATI SBCS | CHAR | CHAR | DT_STR |
| CARATTERE NAZIONALE | NCHAR | NCHAR | DT_WSTR |
| VARCHAR | VARCHAR | VARCHAR | DT_STR |
| VARCHAR () PER DATI DI BIT | VARBINARY | VARBINARY | DT_BYTES |
| VARCHAR () PER DATI MISTI | NVARCHAR | NVARCHAR | DT_WSTR |
| VARCHAR () PER I DATI SBCS | VARCHAR | VARCHAR | DT_STR |
| CARATTERE VARIABILE | VARCHAR | VARCHAR | DT_STR |
| CARATTERE VARIABILE () PER I DATI DI BIT | VARBINARY | VARBINARY | DT_BYTES |
| CARATTERE VARIABILE () PER DATI MISTI | NVARCHAR | NVARCHAR | DT_WSTR |
| CARATTERE VARIABILE () PER I DATI SBCS | VARCHAR | VARCHAR | DT_STR |
| CARATTERE NAZIONALE VARIABILE | NVARCHAR | NVARCHAR | DT_WSTR |
| VARCHAR LONG PER DATI BINARI | image | image | DT_IMAGE |
| VARCHAR LUNGO | text | text | DT_TEXT |
| GRAFICA | NCHAR | NCHAR | DT_WSTR |
| VARGRAPHIC | NVARCHAR | NVARCHAR | DT_WSTR |
| GRAFICO VARIABILE | NVARCHAR | NVARCHAR | DT_WSTR |
| SMALLINT | SMALLINT | SMALLINT | DT_I2 |
| INT | INT | INT | DT_14 |
| INTEGER | INT | INT | DT_14 |
| BIGINT | BIGINT | BIGINT | DT_18 |
| DECIMALE | NUMERICO | NUMERICO | DT_NUMERIC |
| NUMERICO | NUMERICO | NUMERICO | DT_NUMERIC |
| REALE | REALE | REALE | DT_R4 |
| FLOAT | FLOAT | FLOAT | DT_R8 |
| DOPPIO | FLOAT | FLOAT | DT_R8 |
| PRECISIONE DOPPIA | FLOAT | FLOAT | DT_R8 |
| BLOB | image | image | DT_BYTES |
| Oggetto Binario di Grandi Dimensioni | image | image | DT_BYTES |
| CLOB | text | text | DT_TEXT |
| CLOB () PER DATI MISTI | ntext | ntext | DT_NTEXT |
| CLOB () PER I DATI SBCS | text | text | DT_TEXT |
| OGGETTO DI GRANDI DIMENSIONI CHAR | text | text | DT_TEXT |
| CHAR LARGE OBJECT () PER DATI MISTI | ntext | ntext | DT_NTEXT |
| CLOB PER DATI SBCS | text | text | DT_TEXT |
| CARATTERE GRANDE OGGETTO | text | text | DT_TEXT |
| OGGETTO CARATTERE DI GRANDI DIMENSIONI () PER DATI MISTI | ntext | ntext | DT_NTEXT |
| OGGETTO GRANDE CARATTERE () PER I DATI SBCS | text | text | DT_TEXT |
| 130 | ntext | ntext | DT_NTEXT |
Dopo aver modificato un file di mapping, è necessario chiudere e riaprire l'Importazione/Esportazione guidata SQL Server o Business Intelligence Development Studio, a seconda dell'ambiente in cui si sta lavorando.
Per ulteriori informazioni sulla configurazione di SQL Server 2008 Integration Services, consulti l'argomento Importazione ed esportazione dei dati tramite l'Utilità Importazione/Esportazione di SQL Server nella documentazione online di SQL Server (https://go.microsoft.com/fwlink/?LinkId=193204).
Personalizzazione dei componenti del flusso di dati
È possibile usare i componenti flusso di dati di SQL Server Integration Services per eseguire trasformazioni predefinite e personalizzate. Le trasformazioni personalizzate sono basate sul codice personalizzato fornito dallo sviluppatore.
I file di mapping di SQL Server Integration Services in formato XML vengono usati con l'Importazione/Esportazione guidata. Questi file non vengono usati con il flusso di dati. SQL Server Integration Services offre una classe di buffer della pipeline per consentire agli sviluppatori aziendali di personalizzare il mapping dei dati all'interno del flusso di dati. Per altre informazioni sulla personalizzazione dei componenti del flusso di dati tramite SQL Server 2008 Integration Services, vedere l'argomento Uso dei tipi di dati nell'argomento Flusso di dati nella documentazione online di SQL Server (https://go.microsoft.com/fwlink/?LinkId=241523).
Replicazione di SQL Server
Derivare parametri
La replica di SQL Server richiede che Derive Parameter sia impostato su FALSE.
Mapping dei tipi di dati
La replica di SQL Server può convertire i dati in modo non corretto, in base ai mapping predefiniti da SQL Server a tipi di dati DB2. È consigliabile esaminare e rivedere le mappature dei tipi di dati di replica utilizzando le seguenti stored procedure di sistema di SQL Server.
-
sp_helpdatatypemap -
sp_getdefaultdatatypemapping -
sp_setdefaultdatatypemappingPer ulteriori informazioni, consultare l'argomento Stored procedure di sistema (Transact-SQL) nella documentazione online di SQL Server (http://go.microsoft.com/fwlink/?LinkId=241524).
Problema nel mapping di SQL Server DATETIME2 a DBTYPE_TIMESTAMP
La replica di SQL Server 2008 in DB2 per z/OS potrebbe non riuscire con SQLCODE -188 (la rappresentazione di stringa di un valore datetime non è un valore datetime valido). Ciò si verifica quando la replica è configurata per mappare DATETIME2 a DB2 VARCHAR(27) e utilizza i comandi degli articoli della sottoscrizione con valori stringa letterali.
Soluzione al problema con istruzioni dettagliate
Riconfigurare la replica di SQL Server 2008 per mappare DATETIME2 al TIMESTAMP di DB2 e i comandi degli articoli di sottoscrizione con parametri. Ciò consente al provider di dati di formattare il DATETIME2 come struttura DB2 TIMESTAMP supportata dal server di database IBM DB2.
Identificare la mappatura dei tipi di dati da modificare. Usare MASTER per tutti i passaggi.
selezionare * da
sys.fn_helpdatatypemap ( 'MSSQLSERVER', '%', '%', '%', '%', '%', 0 )Dove destination_dbms = 'DB2' e source_type = 'datetime2'I risultati devono indicare il mapping_id da modificare. Nella tabella seguente viene illustrato il riquadro dei risultati per questo esempio in cui il mapping_id è 189.
mapping_id source_dbms tipo_sorgente destinazione_dbms destination_type destination_length 189 MSSQLSERVER datetime2 DB2 VARCHAR 27 Eliminare il mapping dei tipi di dati.
exec sp_dropdatatypemapping 189Aggiungere la mappatura del tipo di dati.
exec sp_adddatatypemapping @source_dbms = 'MSSQLSERVER', @source_type = 'datetime2', @destination_dbms = 'DB2', @destination_type = 'TIMESTAMP', @destination_nullable = 1, @destination_createparams = 0, @dataloss = 0, @is_default = 1Eseguire di nuovo la query per verificare il nuovo mapping del tipo di dati.
select * from
select * from sys.fn_helpdatatypemap ( 'MSSQLSERVER', '%', '%', '%', '%', '%', 0 )Dove destination_dbms = 'DB2' e source_type = 'datetime2'
I risultati devono indicare il mapping_id da modificare. Nella tabella seguente viene illustrato il riquadro dei risultati per questo esempio in cui il mapping_id è 189.
mapping_id source_dbms tipo_sorgente destino_dbms destination_type lunghezza_destinazione 494 MSSQLSERVER datetime2 DB2 TIMESTAMP NULLO Identificare l'articolo relativo alla sottoscrizione di replica da riconfigurare. Utilizzare l'istruzione USE Transact-SQL per passare dal database master al database da cui si esegue la replica.
USE [Test]
select name, status from sysarticlesI risultati devono visualizzare il nome dell'articolo da modificare. In questo esempio la tabella seguente mostra i risultati in cui il nome è DB2TS01.
nome stato DB2TS01 25 Se il valore di stato è 1 o 9, l'articolo viene configurato per la formattazione letterale di stringa.
Se il valore di stato è 17 o 25, l'articolo viene configurato per la formattazione con parametri.
Configurare l'articolo relativo alla sottoscrizione di replica per i comandi con parametri.
USE [Test]
DECLARE @publication AS sysname; DECLARE @article AS sysname; SET @publication = N'DB2TS_PUB01'; SET @article = N'DB2TS01'; EXEC sp_changearticle @publication, @article, 'status', 'parameters', 0, 0;Nella documentazione online di SQL Server, vedere i concetti relativi alle stored procedure di sistema di replica (https://go.microsoft.com/fwlink/?LinkId=241525) per ulteriori informazioni.
L'operazione INSERT di replica fallisce con Errore 8152: i dati stringa o binari verrebbero troncati
L'operazione INSERT di replica di SQL Server potrebbe non riuscire con l'errore di SQL Server 8152 (i dati stringa o binari verrebbero troncati). Ciò può verificarsi quando (1) Il provider di dati non è configurato per l'uso dei metadati iniziali e (2) La replica non è configurata per l'uso di istruzioni INSERT con parametri.
Riconfigurare la connessione al provider di dati per specificare "Use Early Metadata=true" nella definizione dell'origine dati del Sottoscrittore di replica di SQL Server.
Per altre informazioni, vedere Configurare i provider di dati per i collegamenti dati DB2 (DB2) Tutte le proprietà nella documentazione del provider OLE DB per DB2.
Riconfigurare l'articolo relativo alla sottoscrizione di replica di SQL Server per includere l'opzione "24" ("Include il nome della colonna nelle istruzioni INSERT e usa istruzioni con parametri).").
Per altre informazioni, vedere Replica di SQL Server sp_addarticle (Transact-SQL) nella documentazione di SQL Server.
SQL Server Analysis Services
Quando si progettano cubi da usare con SQL Server Analysis Services, gli strumenti generano comandi SQL contenenti nomi alias lunghi che possono superare la lunghezza massima supportata dal server DB2. A seconda della piattaforma DB2 e della versione usata, potrebbe non essere possibile usare query con nomi di alias superiori a 18 caratteri. Ad esempio, molti oggetti distribuiti in DB2 per z/OS usano nomi di 18 caratteri. Consultare il riferimento SQL di DB2 per la propria piattaforma e versione DB2 e verificare con l'amministratore del database DB2. È consigliabile che l'amministratore o lo sviluppatore aggiorni i due file di configurazione di SQL Server Analysis Service che contengono il supporto per il mapping dei tipi di dati per DB2 modificando la lunghezza dell'identificatore (limit-table-identifier-length) da 29 a 18. Di seguito sono riportati i nomi e la posizione dei due file di munizioni che devono essere aggiornati.
C:\Programmi\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\DataWarehouseDesigner\UIRdmsCartridge\db2v0801.xs
C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\DataWarehouseDesigner\UIRdmsCartridge\db2v0801.xs
SQL Server Analysis Services usa i file di configurazione aggiornati per denominare correttamente gli oggetti nei comandi SQL.
SQL Server Migration Assistant per DB2
Quando si usa SQL Server Migration Assistant per DB2 (SSMA) per leggere i dati CLOB DB2, è necessario definire la connessione DB2 all'interno di SSMA usando l'opzione della stringa di connessione e quindi includere nella stringa di connessione l'argomento seguente.
- Usare i metadati iniziali=True
Questo argomento indica al provider di dati di usare metadati iniziali (tipi di dati di parametri e colonne) definiti in fase di progettazione o metadati tardivi definiti in fase di esecuzione. Questa proprietà facoltativa accetta un valore booleano. Il valore predefinito è false. Specificare "true" quando si utilizza SQL Server Migration Assistant (SSMA) per DB2 per leggere i dati CLOB, incluse le informazioni sullo schema codificate come dati CLOB; ad esempio, la colonna STATEMENT della tabella SYSIBM.SYSTRIGGERS.