Datenconsumerprobleme

Dieses Thema stellt Informationen zur Behandlung von Datenconsumerproblemen zur Verfügung.

SQL Server Integration Services

Einmaliges Anmelden (SSO) für Unternehmen

Wenn Einmaliges Anmelden (SSO) für Unternehmen mit SQL Server Integration Services verwendet wird, müssen Sie ggf. den Platzhalterwert "MS$SAME" für den Benutzernamen und das Kennwort eingeben. Mithilfe von Datenverknüpfungen können Sie ESSO für die Verwendung mit SSIS konfigurieren.

  1. Klicken Sie im Dialogfeld Verbindung auf Einmaliges Anmelden, um die Sicherheitsmethode festzulegen.

  2. Wählen Sie in der Dropdownliste Partneranwendung aus.

  3. Klicken Sie im Dialogfeld Alle auf Kennwort, und klicken Sie dann auf Wert bearbeiten. Geben Sie im Dialogfeld Eigenschaftswert bearbeiten die Angabe MS$SAME als Eigenschaftswert ein, und klicken Sie dann auf OK.

  4. Klicken Sie im Dialogfeld Alle auf Benutzer-ID, und klicken Sie dann auf Wert bearbeiten. Geben Sie im Dialogfeld Eigenschaftswert bearbeiten die Angabe MS$SAME als Eigenschaftswert ein, und klicken Sie dann auf OK.

  5. Klicken Sie im Dialogfeld Verbindung auf Testen. Sie können die Ergebnisse im Dialogfeld Microsoft-Datenverknüpfungen anzeigen.

  6. Klicken Sie auf OK, um die Konfigurationsinformationen zu speichern.

Datentypzuordnung

Bei Verwendung der Import- und Export-Assistenten von SQL Server Integration Services aus Microsoft SQL Server Management Studio oder Business Intelligence Design Studio können Sie die standardmäßigen Datenkonvertierungen anpassen, indem Sie die XML-Zuordnungsdateien bearbeiten. Die XML-Zuordnungsdateien der Import- und Export-Assistenten befinden sich in folgendem Ordner.

C:\Programme\Microsoft SQL Server\100\DTS\MappingFiles

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

Damit IBM DB2 für i5/OS-Zeichen- und Dezimaldatentypen den SQL Server-Datentypen ordnungsgemäß zugeordnet werden, sollten die Datenzuordnungsdateien so erweitert werden, dass die lange Form des Synonyms des DB2-Datentyps enthalten ist. Fügen Sie z. B. die folgende Datentypzuordnung zwischen der DB2 INTEGER-Quelle und SQL Server hinzu. Diese Zuordnung ist mit SQLOLEDB, SQLNCL, SQLNCLI10 und System.Data.SqlClient.SqlConnection kompatibel. Sie ersetzt die kurze Form von SourceDataType mit dem Wert INT durch die lange Form INTEGER.

Die folgenden Zuordnung für DB2 INT ist mit einer DB2 für z/OS V9-Quelle kompatibel.

<!-- 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>

Die folgenden Datentypzuordnung für DB2 INTEGER ist mit einer DB2 für i5/OS V6R1-Quelle kompatibel.

<!-- 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>

Datentyp-Zuordnungsdateien

Die folgende Tabelle beschreibt die drei Zuordnungsdateien, die Sie bearbeiten können, wenn Sie den Datenanbieter verwenden.

DB2-Datentypname

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

Nachdem Sie eine Zuordnungsdatei bearbeitet haben, müssen Sie den Import- und Export-Assistenten von SQL Server oder Business Intelligence Development Studio abhängig von der Umgebung, in der Sie arbeiten, schließen und dann erneut öffnen.

Weitere Informationen zum Konfigurieren von SQL Server 2008 Integration Services finden Sie im Thema "Importieren und Exportieren von Daten mit dem SQL Server-Import/Export-Assistenten" in der SQL Server-Onlinedokumentation (https://go.microsoft.com/fwlink/?LinkId=193204).

Anpassen von Datenflusskomponenten

Sie können die Datenflusskomponenten von SQL Server Integration Services zum Ausführen von Standard- und angepassten Transformationen verwenden. Die angepassten Transformationen basieren auf von Entwicklern bereitgestelltem, benutzerdefiniertem Code.

Die Zuordnungsdateien von SQL Server Integration Services im XML-Format sind für die Verwendung mit dem Import- und Export-Assistenten vorgesehen. Diese Dateien sind nicht für die Verwendung mit dem Datenfluss geeignet. SQL Server Integration Services stellt eine Pipelinepufferklasse zur Verfügung, damit Unternehmensentwickler die Datenzuordnung im Datenfluss anpassen können. Weitere Informationen zum Anpassen der Datenflusskomponenten mithilfe von SQL Server 2008 Integration Services finden Sie im Thema "Verwenden von Datentypen im Datenfluss" in der SQL Server-Onlinedokumentation (https://go.microsoft.com/fwlink/?LinkId=241523).

SQL Server-Replikation

Parameter ableiten

Die SQL Server-Replikation erfordert, dass Parameter ableiten auf FALSCH festgelegt ist.

Datentypzuordnung

Auf der Grundlage der Standardzuordnungen von SQL Server- zu DB2-Datentypen kann es vorkommen, dass die SQL Server-Replikation Daten ggf. nicht ordnungsgemäß konvertiert. Es wird empfohlen, dass Sie die Replikationsdatentyp-Zuordnungen unter Verwendung der folgenden gespeicherten SQL Server-Systemprozeduren überarbeiten und überprüfen.

  • sp_helpdatatypemap
    
  • sp_getdefaultdatatypemapping
    
  • sp_setdefaultdatatypemapping 
    

Weitere Informationen finden Sie im Thema "System Stored Procedures (Transact-SQL)" in der SQL Server-Onlinedokumentation (https://go.microsoft.com/fwlink/?LinkId=241524).

Problem beim Zuordnen des SQL Server-Formats DATETIME2 zu DBTYPE_TIMESTAMP

Fehler der SQL Server 2008-Replikation in DB2 für z/OS mit SQLCODE -188 (die Zeichenfolgedarstellung eines datetime-Werts ist kein gültiger datetime-Wert). Dieser Fehler tritt auf, wenn die Replikation für die Zuordnung von DATETIME2 zu DB2 VARCHAR(27) konfiguriert ist und Abonnementartikelbefehle mit literalen Zeichenfolge-Datenwerten verwendet.

Lösung des Problems mit schrittweisen Anweisungen

Konfigurieren Sie die SQL Server 2008-Replikation so neu, dass DATETIME2 dem Typ DB2 TIMESTAMP und Abonnementartikelbefehle Parametern zugeordnet werden. Auf diese Weise kann der Datenanbieter den Typ DATETIME2 als DB2 TIMESTAMP-Struktur formatieren, die vom IBM DB2-Datenbankserver unterstützt wird.

  1. Identifizieren Sie die zu ändernde Datentypzuordnung. Verwenden Sie MASTER für alle Schritte.

    select * from

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

    Dabei ist destination_dbms = 'DB2' und source_type = 'datetime2'. Die Ergebnisse sollten die zu ändernde mapping_id angeben. Die folgende Tabelle zeigt den Ergebnisbereich für dieses Beispiel. Dabei besitzt mapping_id den Wert 189.

    mapping_id

    source_dbms

    source_type

    destination_dbms

    destination_type

    destination_length

    189

    MSSQLSERVER

    datetime2

    DB2

    VARCHAR

    27

  2. Legen Sie die Datentypzuordnung ab.

    exec sp_dropdatatypemapping 189

  3. Fügen Sie die Datentypzuordnung hinzu.

    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. Führen Sie die Abfrage erneut aus, um die neue Datentypzuordnung zu überprüfen.

    select * from

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

    Dabei ist destination_dbms = 'DB2' und source_type = 'datetime2'.

    Die Ergebnisse sollten die zu ändernde mapping_id angeben. Die folgende Tabelle zeigt den Ergebnisbereich für dieses Beispiel. Dabei besitzt mapping_id den Wert 189.

    mapping_id

    source_dbms

    source_type

    destination_dbms

    destination_type

    destination_length

    494

    MSSQLSERVER

    datetime2

    DB2

    TIMESTAMP

    NULL

  5. Identifizieren den neu zu konfigurierenden Replikationsabonnementartikel. Verwenden Sie die Transact-SQL-Anweisung USE, um von der Masterdatenbank zu der Datenbank zu wechseln, aus der die Replikation erfolgt.

    USE [Test]

    select name, status from sysarticles
    
  6. Die Ergebnisse sollten den Namen des zu ändernden Artikels angeben. Die folgende Tabelle zeigt die Ergebnisse. Dabei lautet der Name DB2TS01.

    Name

    Status

    DB2TS01

    25

    Wenn der Statuswert 1 oder 9 ist, ist der Artikel für literale Zeichenfolgeformatierung konfiguriert.

    Wenn der Statuswert 17 oder 25 ist, ist der Artikel für parametrisierte Formatierung konfiguriert.

  7. Konfigurieren Sie den Replikationsabonnementartikel für parametrisierte Befehle.

    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;
    

Weitere Informationen finden Sie unter Konzepte für gespeicherte Systemprozeduren für die Replikation (https://go.microsoft.com/fwlink/?LinkId=241525) in der SQL Server-Onlinedokumentation.

SQL Server Analysis Services

Beim Entwerfen von Cubes, die mit SQL Server Analysis Services verwendet werden sollen, generieren die Tools SQL-Befehle mit langen Aliasnamen, die ggf. die maximale Länge überschreiten, die vom DB2-Server unterstützt wird. Je nach verwendeter DB2-Plattform und -Version können Sie ggf. keine Abfragen mit Aliasnamen verwenden, die länger als 18 Zeichen sind. Beispielsweise verwenden viele Objekte, die in DB2 für z/OS bereitgestellt werden, Namen mit einer Länge von 18 Zeichen. Weitere Informationen finden Sie in der DB2 SQL-Referenz der entsprechenden DB2-Plattform und -Version oder erhalten Sie vom DB2-Datenbankadministrator. Es wird empfohlen, dass der Administrator oder Entwickler die beiden Dateien der SQL Server Analysis Service-Konfigurationscartridge aktualisiert, die die Datentypzuordnungs-Unterstützung für DB2 enthalten, indem er die Bezeichnerlänge (Begrenzungstabellen-Bezeichnerlänge) von 29 in 18 ändert. Die folgenden Namen und Speicherorte der beiden Cartridgedateien müssen aktualisiert werden.

  • C:\Programme\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\DataWarehouseDesigner\UIRdmsCartridge\db2v0801.xs

  • C:\Programme\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\DataWarehouseDesigner\UIRdmsCartridge\db2v0801.xs

SQL Server Analysis Services verwendet die aktualisierten Konfigurationsdateien, um Objekte in SQL-Befehlen ordnungsgemäß zu benennen.