Problèmes liés aux consommateurs de données

Cette rubrique fournit des informations pour le dépannage des problèmes affectant les consommateurs de données.

SQL Server Integration Services

Authentification unique de l'entreprise

Lors de l'utilisation de l'authentification unique de l'entreprise avec SQL Server Integration Services, il se peut que vous deviez entrer la valeur d'espace réservé « MS$SAME » pour le nom d'utilisateur et le mot de passe. Lors de l'utilisation des liaisons de données, vous pouvez configurer l'authentification unique de l'entreprise pour une utilisation avec SQL Server Integration Services.

  1. Dans la boîte de dialogue Connexion, cliquez sur Authentification unique pour la Méthode de sécurité.

  2. Dans la zone de liste déroulante, sélectionnez une Application associée.

  3. Dans la boîte de dialogue Toutes, cliquez sur Mot de passe, puis sur Modifier la valeur. Dans la boîte de dialogue Modifier la valeur d'une propriété, entrez MS$SAME pour la Valeur de propriété, puis cliquez sur OK.

  4. Dans la boîte de dialogue Tous, cliquez sur ID d'utilisateur, puis sur Modifier la valeur. Dans la boîte de dialogue Modifier la valeur d'une propriété, entrez MS$SAME pour la Valeur de propriété, puis cliquez sur OK.

  5. Dans la boîte de dialogue Connexion, cliquez sur Test. Les résultats sont affichés dans la boîte de dialogue Liaisons de données Microsoft.

  6. Cliquez sur OK pour enregistrer les informations de configuration.

Mappage de types de données

Lorsque vous utilisez l'Assistant Importation et Exportation SQL Server Integration Services, depuis Microsoft SQL Server Management Studio ou Business Intelligence Design Studio, vous pouvez personnaliser les conversions de données par défaut en modifiant des fichiers de mappage XML. Les fichiers de mappage XML de l'Assistant Importation et Exportation sont situés dans le dossier suivant.

C:\Program Files\Microsoft SQL Server\100\DTS\MappingFiles

C:\Program Files (x86)\Microsoft SQL Server\100\DTS\MappingFiles

Pour mapper correctement des types de données character et decimal IBM DB2 pour i5/OS à des types de données SQL Server, les fichiers de mappage de données doivent être étendus de manière à inclure la forme longue du synonyme de type de données DB2. Par exemple, ajoutez le mappage de type de données suivant entre la source INTEGER DB2 et SQL Server. Ce mappage est compatible avec SQLOLEDB, SQLNCL, SQLNCLI10 et System.Data.SqlClient.SqlConnection. Il remplace la forme courte INT de la valeur SourceDataType par la forme longue INTEGER.

Le mappage suivant pour la valeur INT de DB2 est compatible avec une source DB2 pour 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>

Le mappage de type de données suivant pour la valeur INTEGER de DB2 est compatible avec une source DB2 pour i5/OS 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>

Fichiers de mappage des types de données

Le tableau suivant décrit les trois fichiers de mappage que vous pouvez modifier lors de l'utilisation du fournisseur de données.

Nom du type de données DB2

DB2ToMSSql

DB2ToMSSql10

DB2ToSSIS10

TIME

DATETIME

time

DT_DBTIME

TIMESTAMP

datetime

datetime2

DT_DBTIMESTAMP2

DATE

DATETIME

DATE

DT_DBDATE

CHAR

CHAR

CHAR

DT_STR

CHAR () FOR BIT DATA

BINARY

BINARY

DT_BYTES

CHAR () FOR MIXED DATA

NCHAR

NCHAR

DT_WSTR

CHAR () FOR SBCS DATA

CHAR

CHAR

DT_STR

CHARACTER

CHAR

CHAR

DT_STR

CHARACTER () FOR BIT DATA

BINARY

BINARY

DT_BYTES

CHARACTER () FOR MIXED DATA

NCHAR

NCHAR

DT_WSTR

CHARACTER () FOR SBCS DATA

CHAR

CHAR

DT_STR

NATIONAL CHARACTER

NCHAR

NCHAR

DT_WSTR

VARCHAR

VARCHAR

VARCHAR

DT_STR

VARCHAR () FOR BIT DATA

VARBINARY

VARBINARY

DT_BYTES

VARCHAR () FOR MIXED DATA

NVARCHAR

NVARCHAR

DT_WSTR

VARCHAR () FOR SBCS DATA

VARCHAR

VARCHAR

DT_STR

CHARACTER VARYING

VARCHAR

VARCHAR

DT_STR

CHARACTER VARYING () FOR BIT DATA

VARBINARY

VARBINARY

DT_BYTES

CHARACTER VARYING () FOR MIXED DATA

NVARCHAR

NVARCHAR

DT_WSTR

CHARACTER VARYING () FOR SBCS DATA

VARCHAR

VARCHAR

DT_STR

NATIONAL CHARACTER VARYING

NVARCHAR

NVARCHAR

DT_WSTR

LONG VARCHAR FOR BIT DATA

image

image

DT_IMAGE

LONG VARCHAR

text

text

DT_TEXT

GRAPHIC

NCHAR

NCHAR

DT_WSTR

VARGRAPHIC

NVARCHAR

NVARCHAR

DT_WSTR

GRAPHIC VARYING

NVARCHAR

NVARCHAR

DT_WSTR

SMALLINT

SMALLINT

SMALLINT

DT_I2

INT

INT

INT

DT_14

INTEGER

INT

INT

DT_14

BIGINT

BIGINT

BIGINT

DT_18

DECIMAL

NUMERIC

NUMERIC

DT_NUMERIC

NUMERIC

NUMERIC

NUMERIC

DT_NUMERIC

REAL

REAL

REAL

DT_R4

FLOAT

FLOAT

FLOAT

DT_R8

DOUBLE

FLOAT

FLOAT

DT_R8

DOUBLE PRECISION

FLOAT

FLOAT

DT_R8

BLOB

image

image

DT_BYTES

BINARY LARGE OBJECT

image

image

DT_BYTES

CLOB

text

text

DT_TEXT

CLOB () FOR MIXED DATA

ntext

ntext

DT_NTEXT

CLOB () FOR SBCS DATA

text

text

DT_TEXT

CHAR LARGE OBJECT

text

text

DT_TEXT

CHAR LARGE OBJECT () FOR MIXED DATA

ntext

ntext

DT_NTEXT

CHAR LARGE OBJECT () FOR SBCS DATA

text

text

DT_TEXT

CHARACTER LARGE OBJECT

text

text

DT_TEXT

CHARACTER LARGE OBJECT () FOR MIXED DATA

ntext

ntext

DT_NTEXT

CHARACTER LARGE OBJECT () FOR SBCS DATA

text

text

DT_TEXT

130

ntext

ntext

DT_NTEXT

Après avoir modifié un fichier de mappage, vous devez fermer puis rouvrir l'Assistant Importation et Exportation SQL Server ou Business Intelligence Development Studio, selon l'environnement que vous utilisez.

Pour plus d'informations sur la configuration de SQL Server 2008 Integration Services, consultez la rubrique Importation et exportation de données à l'aide de l'Assistant Importation et Exportation SQL Server, dans la documentation en ligne de SQL Server (https://go.microsoft.com/fwlink/?LinkId=193204).

Personnalisation des composants de flux de données

Les composants de flux de données SQL Server Integration Services permettent d'effectuer des transformations par défaut et personnalisées. Les transformations personnalisées sont basées sur du code personnalisé fourni par le développeur.

Les fichiers de mappage SQL Server Integration Services au format XML sont destinés à être utilisés avec l'Assistant Importation et Exportation. Ces fichiers ne sont pas destinés à être utilisés avec le flux de données. SQL Server Integration Services offre une classe PipelineBuffer pour permettre aux développeurs d'entreprise de personnaliser un mappage de données dans le flux de données. Pour plus d'informations sur la personnalisation des composants de flux de données à l'aide de SQL Server 2008 Integration Services, consultez la rubrique Utilisation de types de données dans le flux de données, dans la documentation en ligne de SQL Server (https://go.microsoft.com/fwlink/?LinkId=241523).

Réplication SQL Server

Dériver les paramètres

La réplication SQL Server requiert que le paramètre Dériver le paramètre soit défini sur FALSE.

Mappage de types de données

La réplication SQL Server peut convertir des données de manière incorrecte, sur la base des mappages par défaut de SQL Server aux types de données DB2. Il est recommandé d'examiner et de réviser les mappages des types de données de réplication à l'aide des procédures stockées système de SQL Server.

  • sp_helpdatatypemap
    
  • sp_getdefaultdatatypemapping
    
  • sp_setdefaultdatatypemapping 
    

Pour plus d'informations, consultez la rubrique Procédures stockées système (Transact-SQL) dans la documentation en ligne de SQL Server (https://go.microsoft.com/fwlink/?LinkId=241524).

Problème lors du mappage de SQL Server DATETIME2 à DBTYPE_TIMESTAMP

La réplication SQL Server 2008 vers DB2 pour z/OS peut échouer avec l'exception SQLCODE -188 (la représentation de chaîne d'une valeur datetime n'est pas une valeur datetime valide). Ce problème se produit lorsque la réplication est configurée pour mapper DATETIME2 à DB2 VARCHAR(27) et qu'elle utilise des commandes d'article d'abonnement avec des valeurs de données de littéraux de chaîne.

Solution au problème avec des instructions pas à pas

Reconfigurez la réplication SQL Server 2008 pour mapper DATETIME2 à DB2 TIMESTAMP et des commandes d'article d'abonnement avec des paramètres. Le fournisseur de données pourra ainsi mettre en forme DATETIME2 en tant que structure DB2 TIMESTAMP prise en charge par le serveur de base de données IBM DB2.

  1. Identifiez le mappage de type de données à modifier. Utilisez MASTER pour toutes les étapes.

    select * from

    sys.fn_helpdatatypemap(   'MSSQLSERVER',     '%',     '%',     '%',     '%',     '%',     0) 

    Où destination_dbms = 'DB2' et source_type = 'datetime2' Les résultats doivent indiquer la propriété mapping_id à modifier. Le tableau suivant illustre le volet de résultats correspondant à cet exemple, dans lequel la valeur de la propriété mapping_id est 189.

    mapping_id

    source_dbms

    source_type

    destination_dbms

    destination_type

    destination_length

    189

    MSSQLSERVER

    datetime2

    DB2

    VARCHAR

    27

  2. Supprimez le mappage du type de données.

    exec sp_dropdatatypemapping 189

  3. Ajoutez le mappage du type de données.

    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 = 1
    
  4. Réexécutez la requête pour vérifier le nouveau mappage du type de données.

    select * from

    select * from sys.fn_helpdatatypemap
       (
       'MSSQLSERVER', 
        '%', 
        '%', 
        '%', 
        '%', 
        '%', 
        0)
    

    Où destination_dbms = 'DB2' et source_type = 'datetime2'

    Les résultats doivent indiquer la propriété mapping_id à modifier. Le tableau suivant illustre le volet de résultats correspondant à cet exemple, dans lequel la valeur de la propriété mapping_id est 189.

    mapping_id

    source_dbms

    source_type

    destination_dbms

    destination_type

    destination_length

    494

    MSSQLSERVER

    datetime2

    DB2

    TIMESTAMP

    NULL

  5. Identifiez l'article d'abonnement de réplication à reconfigurer. Utilisez l'instruction Transact-SQL USE pour basculer de la base de données principale à la base de données à partir de laquelle vous effectuez la réplication.

    USE [Test]

    select name, status from sysarticles
    
  6. Les résultats doivent afficher le nom de l'article à modifier. Dans le cadre de cet exemple, le tableau suivant affiche les résultats dont le nom est DB2TS01.

    Nom

    État

    DB2TS01

    25

    Si la valeur d'état est 1 ou 9, l'article est configuré pour la mise en forme en littéral de chaîne.

    Si la valeur d'état est 17 ou 25, l'article est configuré pour la mise en forme paramétrable.

  7. Configurez l'article d'abonnement de réplication pour les commandes paramétrables.

    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;
    

Pour plus d'informations, consultez la rubrique Concepts liés aux procédures stockées système de réplication (https://go.microsoft.com/fwlink/?LinkId=241525) dans la documentation en ligne de SQL Server.

SQL Server Analysis Services

Lorsque vous élaborez des cubes qui sont utilisés avec SQL Server Analysis Services, les outils SSAS génèrent des commandes SQL contenant des noms d'alias longs qui peuvent dépasser la longueur maximale prise en charge par le serveur DB2. Selon la plateforme et la version de DB2 que vous utilisez, il est possible que vous ne puissiez pas utiliser de requêtes avec des noms d'alias de plus de 18 caractères. Par exemple, de nombreux objets déployés dans DB2 pour z/OS utilisent des noms de 18 caractères. Reportez-vous à la documentation de référence de DB2 SQL correspondant à votre plateforme et à la version de DB2 et consultez l'administrateur de votre base de données DB2. Il est recommandé que l'administrateur ou le développeur mette à jour les deux fichiers cartouche de configuration de SQL Server Analysis Service qui contiennent la prise en charge du mappage de type de données pour DB2 en modifiant la longueur des identificateurs (« limit-table-identifier-length ») de 29 à 18. Voici les noms et l'emplacement des deux fichiers cartouche qui doivent être mis à jour.

  • C:\Program Files\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 utilise les fichiers de configuration mis à jour pour nommer correctement des objets dans les commandes SQL.