Freigeben über


Lösungen für häufige Probleme

Bei verwendung des DRDA-Diensts können diese häufig auftretenden Probleme auftreten.

DRDA-Dienst kann nicht als Konsolenanwendung gestartet werden.

Wenn Sie den DRDA-Dienst nicht als Konsolenanwendung starten können, überprüfen Sie, ob der DRDA-Dienst bereits als Dienst ausgeführt wird.

  • Zeigen Sie im Startmenü auf "Alle Programme", zeigen Sie auf Microsoft Visual Studio 2010, zeigen Sie auf Visual Studio Tools, klicken Sie mit der rechten Maustaste auf die Visual Studio x64 Win64-Eingabeaufforderung (2010), und klicken Sie auf "Als Administrator ausführen". Das Dialogfeld " Benutzerkontensteuerung " wird angezeigt. Klicken Sie zum Fortsetzen des Vorgangs auf Ja .

  • Geben Sie an der Eingabeaufforderung net stop msdrdaservice ein, und drücken Sie die Eingabetaste.

    C:\Windows\system32>net stop msdrdaservice
    The Microsoft Service for DRDA service is stopping.
    The Microsoft Service for DRDA service was stopped successfully.
    

Benutzerdefinierte Listener

Beim Starten des Diensts schreibt der DRDA-Dienst Warnungseinträge in die internen DrdaAsTextListener und DrdaAsConsoleListener und benachrichtigt den IT-Experten, dass der DRDA-Dienst keine benutzerdefinierten Listener laden konnte (Bindung, Text, andere).

Benutzerdefinierter Bindungs-Listener

Der DRDA-Dienst unterstützt benutzerdefinierte Bindungslistener, die eines von zwei statischen SQL für DB2-XML-Dokumentformate unterstützen können: HIS 2010 (v8.5) oder HIS 2013 (v9.0). Bei einem Rückruf von einem benutzerdefinierten Bindungslistener protokolliert der DRDA-Dienst diesen Fehler möglicherweise.

Error:2:2:[sep 13 2012 10:44:09.571] SqlDatabase::CreateXMLForPackage::OnPackageBound(xmlstring ... out sqlscripts) no sql scripts are passed back.
Error:2:2:[sep 13 2012 10:44:09.573] SqlDatabase::CreateXMLForPackage::OnPackageBound(xmlstring, ..., out sqlscripts)  Null and empty scripts passed from custom binder
Error:2:4:[sep 13 2012 10:44:09.575] SqlDatabase::CreateXMLForPackage::OnPackageBound(xmlstring, ..., out sqlscripts)    at Microsoft.HostIntegration.Drda.RDB.SqlDatabase.CreateXMLForPackage

Die Lösung besteht darin, den entsprechenden packageXmlFormat-Attributwert zu konfigurieren. Das packageXmlFormat-Attribut weist den DRDA-Server an, die statische SQL für DB2-XML-Datei im v90- oder v85-Format zu schreiben. Dieses optionale Attribut akzeptiert einen Zeichenfolgenwert von v85 oder v90. Der Standardwert ist v90 .

In diesem Fall sollten Sie versuchen, den Wert "v85" zu verwenden und dann den Befehl 'bind' oder 'bind copy' erneut anzufordern.

packageXmlFormat="v85"

Statische SQL für DB2-Paket-XML-Formatattribut.

Hinweis

Microsoft HIS 2013 (V9) unterstützt sowohl das alte als auch das neue Format, das ein zugeordnetes XML-Schema zum Überprüfen des XML-Dokuments enthält. Microsoft HIS 2009 und HIS 2010 (V8.5) unterstützen nur das alte Format.

Problem mit Microsoft Client für DB2: Testverbindungsfehler

Could not connect to data source 'DATASOURCE':
An internal network library error has occurred. A network level syntax error has occurred.

Die Lösung besteht darin, die DRDA-Dienstkonfiguration für einmaliges Anmelden für Unternehmen zu überprüfen.

Überprüfen Sie zunächst, ob Sie Enterprise Single Sign-On für Host-Initiated SSO konfiguriert und dann den EntSSO-Dienst erneut gestartet haben, indem Sie die Schritte 6 und 7 im Abschnitt "Configure HIS 2010 and ESSO V4.5" ausführen.

Überprüfen Sie zweitens, ob Sie die Host- und Windows-Anmeldeinformationen korrekt zugeordnet haben, indem Sie die Schritte 11-13 im Abschnitt "So definieren Sie eine ESSO-Partneranwendung für windows-initiiertes SSO" ausführen. Überprüfen Sie außerdem, ob Sie beim Testen der Verbindung die richtigen Hostanmeldeinformationen vom Microsoft Client für DB2 verwenden.

Problem mit IBM QMF für z/OS aufgrund des Fehlers "Ortsname ist nicht bekannt".

IBM QMF für Z/OS-Verbindungsfehler (z.B. SELECT * FROM HISDEMO1. DBO. CUSTOMERS) gibt den folgenden Fehler zurück.

The location name is not known to the local DB2 subsystem.

Die Lösung besteht darin, DB2 für die Z/OS-Konfigurationsdatenbank zu überprüfen und DDF nach Bedarf erneut zu starten.

Überprüfen Sie zunächst, ob Sie die Katalogtabellen von DB2 for z/OS (SYSIBM.LOCATIONS, SYSIBM.IPNAMES und SYSIBM.USERNAMES) mit Ihrer Remote-Datenbank aktualisiert haben.

Bitten Sie Ihren DB2 for z/OS-Administrator, die DB2 for z/OS Distributed Data Facility (DDF), das DRDA-Protokollgateway, zu stoppen und erneut zu starten und versuchen Sie dann die SQL-Abfrage erneut.

Problem bei IBM QMF für z/OS aufgrund eines Fehlers 'Ressource nicht verfügbar'

IBM QMF für z/OS-Verbindungsfehler (z.B. SELECT * FROM HISDEMO1.DBO.CUSTOMERS) wird den folgenden Fehler zurückgeben.

Unsuccessful execution caused by an unavailable resource. (Reason code:
00D300F4; type of resource: 00001005; and resource name: NAME).
The DRDA AS log will have the following corresponding error.
Could not map use rid/password to a valid windows account. Authentication failed.

Die Lösung besteht darin, DB2 für die Z/OS-Konfigurationsdatenbank zu überprüfen und DDF nach Bedarf erneut zu starten.

Überprüfen Sie zunächst, ob Sie die DB2 für z/OS-Katalogtabellen (SYSIBM.LOCATIONS, SYSIBM.IPNAMES und SYSIBM.USERNAMES) mit Ihrer relationalen Remotedatenbank aktualisiert haben.

Bitten Sie Ihren DB2 für z/OS-Administrator, die DB2 für z/OS Distributed Data Facility (DDF) zu stoppen und neu zu starten, welche das DRDA-Protokoll-Gateway ist, und versuchen Sie dann, die SQL-Abfrage erneut auszuführen.

Problem mit IBM QMF für z/OS, das mit Syntaxfehler oder Zugriffsregelverletzung fehlschlägt.

IBM QMF für z/OS, SPUFI, DB2 Admin oder ein anderes Programm kann einen DB2 for z/OS-Alias (z.B. DBO.REMAREAS) über eine SQL Server-Tabelle (z.B. HISDRDA1.DBO.AREAS) mithilfe von DRDA AS nicht abfragen und gibt den folgenden Fehler zurück.

DSNT408I SQLCODE =   -204, SQLSTATE = 42704, SYNTAX ERROR OR ACCESS RULE VIOLATION FROM DB2 UDB for AIX, Linux, HP-UX, Sun, and Windows TOKENS 'DBO.REMAREAS' IS AN UNDEFINED NAME.

Das DRDA AS-Protokoll hat den folgenden entsprechenden Fehler.

DrdaAs Information: 7 : [9/19/2011 4:30:55 PM] Processing PRPSQLSTT "SELECT * FROM DBO.REMAREAS"
DrdaAs Error: 7 : [9/19/2011 4:30:55 PM] Message: Invalid object name 'DBO.REMAREAS'.

Die Lösung besteht darin, zu überprüfen, ob Sie einen entsprechenden SQL Server-ALIAS oder eine VIEW erstellt haben.

Beispiel:

CREATE VIEW [dbo].[REMAREAS]
AS
SELECT     dbo.AREAS.*
FROM         dbo.AREAS

Problem mit IBM QMF für z/OS, das mit einem Kommunikationsfehler fehlschlägt

IBM QMF für z/OS-Verbindungsfehler (z.B. SELECT * FROM HISDEMO1.DBO.CUSTOMERS) gibt den folgenden Fehler zurück.

A communications error was detected.
Message No: DSQ10427.

Die IBM QMF für z/OS Nachrichten und Codes Referenz definiert die QMF-Nachricht DSQ10427 als SQLCODE -30081. Die IBM DB2 für z/OS Codes Reference definiert SQLCODE -30081 als Kommunikationsfehler.

Die Lösung besteht darin, zu überprüfen, ob die Windows-Firewall-Ausnahmeliste das MsDrdaService.exe Programm auf dem DRDA-Dienstcomputer enthält.

  1. Zeigen Sie im Startmenü auf die Systemsteuerung, klicken Sie auf "System und Sicherheit", klicken Sie auf "Windows-Firewall", klicken Sie auf "Ein Programm oder Feature durch die Windows-Firewall zulassen", klicken Sie auf "Einstellungen ändern", klicken Sie auf "Anderes Programm zulassen", klicken Sie auf "Durchsuchen", geben Sie "%SNAROOT%\MsDrdaService.exe" ein, und klicken Sie dann auf "Hinzufügen", und klicken Sie dann auf "OK".

  2. Starten Sie den DRDA-Dienst erneut.

Die SELECT- oder CALL-Anweisung des DRDA-Clients schlägt fehl.

DRDA-Clientprogramme binden eine Reihe von Standardpaketen, die grundlegende DECLARE CURSOR-Anweisungen enthalten, mit denen definiert wird, wie Ergebnisse für SELECT- und CALL-Anweisungen abgerufen und zurückgegeben werden. Wenn die Anweisung fehlschlägt, überprüfen Sie, ob das Paket oder die Sammlung in der IgnoreStandardPackages.txt Datei aufgeführt ist. Falls in der Liste aufgeführt, entfernen Sie den Verweis, binden Sie die Anweisung erneut und führen Sie sie erneut aus.

Zugriffsfehler bei relationaler Datenbankverbindung

Der DRDA-Dienst stellt eine Verbindung mit einer SQL Server-Datenbank mithilfe der Verbindungszeichenfolge in der MsDrdaService.exe.config als Reaktion auf eine DRDA ACCRDB (Access Relational Database)-Anforderung her. Unter bestimmten Umständen kann der SQL Server-Datenbankverbindungsversuch mit dem folgenden Fehler fehlschlagen.

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server).

Der DRDA-Dienst gibt den folgenden IBM DB2-Fehler an den DRDA-Client zurück.

SQLCODE -30041
SQLSTATE 57013
Error Text: EXECUTION FAILED DUE TO UNAVAILABLE RESOURCES THAT WILL AFFECT THE SUCCESSFUL EXECUTION OF SUBSEQUENT COMMANDS AND SQL STATEMENTS.

In diesen Fällen sollten Sie die Microsoft SQL Server-Dokumentation und bewährte Methoden verwenden, um die Ursache des Verbindungsfehlers zu ermitteln.

Problem mit Authentifizierungsfehlern bei verwendung von hostinitiiertem ESSO

Beim Empfang eingehender Verbindungen von DB2 für z/OS mit DRDA-Dienstauthentifizierung authentifiziert der DRDA-Dienst nur auf Basis des Benutzernamens. Die DRDA ACCSEC (Access Security) SECMEC (Security Mechanism) ist USRIDONL (nur Benutzer-ID).

Der DRDA-Dienst schreibt möglicherweise den folgenden Fehler in den Ablaufverfolgungslistener, wenn die DRDA SECCHK (Sicherheitsüberprüfung) verarbeitet wird.

  • Fehler beim Authentifizieren des Benutzers: SSO LogonExternalUser konnte nicht mithilfe der angegebenen Userid/passwd verwendet werden.

    Um diese Authentifizierungsmethode mithilfe von hostinitiiertem Enterprise Single Sign-On zu unterstützen, müssen Sie die Eigenschaft "Externe Anmeldeinformationen überprüfen" in der Partneranwendung auf "True" festlegen.

Problem beim Verarbeiten von BNDSQLSTT, wenn Parameternamen Bindestriche enthalten

Laut MSDN erkennt Microsoft SQL Server keine Variablennamen und gespeicherten Prozedurparameter, die durch Trennzeichen getrennt sind. Diese Arten von Bezeichnern müssen den Regeln für reguläre Bezeichner entsprechen. Siehe https://msdn.microsoft.com/library/ms176027.aspx. Pl/I- und COBOL-Parameternamen enthalten jedoch Bindestriche und andere Sonderzeichen. Die Lösung für den DRDA-Dienst besteht darin, das BGNBND BNDSQLSTT zu verarbeiten, indem Sonderzeichen entfernt und durch einen einzelnen Unterstrich ersetzt werden. Beispielsweise ersetzt der DRDA-Dienst den statischen SQL-Parameternamen "PARM-1" durch den Parameternamen der gespeicherten SQL Server-Prozedur "PARM_1". Der DRDA-Dienst verwendet den ersetzten Wert beim Verarbeiten des BGNBIND BNDSQLSTT in eine gespeicherte SQL Server-Prozedur oder in eine statische SQL für DB2 XML-Definitionsdatei. Siehe Liste der ungültigen Zeichen in der T-SQL-Referenz unter https://msdn.microsoft.com/library/aa224033(v=SQL.80).aspx.

Ursprünglicher Wert Ersetzter Wert
Tilde (~)
Bindestrich (-)
Ausrufezeichen (!)
linke geschweifte Klammer ({)
Prozent (%)
Geschweifte Klammer rechts (})
Caret (^)
Apostroph (')
Und-Zeichen (&)
Period (.)
linke Klammer (()
umgekehrter Schrägstrich (\)
rechte Klammer ())
Gravis-Akzent (`)

DER DRDA-Dienst ersetzt ungültige Zeichen durch einen einzelnen Unterstrich.

Problem bei der Verarbeitung von BGNBND BNDSQLSTT, wenn Konsistenztoken nicht lesbar ist

Die Lösung besteht darin, dass der DRDA AS den BGNBND BNDSQLSTT mithilfe einer hexadezimalen Darstellung des 8-Byte-Consistency Tokens verarbeitet.

Problem mit dem Verbindungs-Timeout bei der Verbindung mit einem SQL Server-Spiegelungspartner

Mögliche Fehler während der Datenbankspiegelung

Problem beim Laden des benutzerdefinierten Bindungslisteners beim Starten des Diensts

DER DRDA-Dienst gibt eine Warnung zurück, wenn beim Starten des Diensts kein benutzerdefinierter Bindungslistener geladen werden kann. Die Warnung verhindert nicht, dass der DRDA-Dienst gestartet wird.

Dieses Problem kann auftreten, wenn der DRDA-Dienst keinen Zugriff auf den benutzerdefinierten Bindungs-Listener hat oder auf das Verzeichnis, in dem der benutzerdefinierte Listener so konfiguriert ist, dass Bindungskopien in XML- oder Protokolldateien geschrieben werden. Der Administrator sollte die entsprechenden Rechte der Zugriffssteuerungsliste für diese Verzeichnisse festlegen.

Alle Mitglieder der HIS-Runtime-Benutzergruppe müssen Über Lese- und Ausführungsrechte für das Programmdateien-Systemverzeichnis verfügen, in dem die benutzerdefinierte Listener-Dynamic Link Library installiert ist. Alle Mitglieder der HIS Runtime Users-Gruppe müssen Schreib-, Lese- und Ausführungsrechte haben, um Bindekopien an Verzeichnisse zu binden, in denen der benutzerdefinierte Bindungs-Listener Bindekopien sowie XML- und Ablaufverfolgungsdateien schreibt.

Problem, wenn der benutzerdefinierte Bindungslistener nicht auf der Rückrufschnittstelle zurückgegeben wird.

Der DRDA-Dienst gibt keine BGNBNDRM (Begin Bind Error Reply Message) an den DRDA Application Requester-Client zurück, wenn ein benutzerdefinierter Bind-Listener dem DRDA-Dienst keine CREATE PROCEDURE DDL-Anweisung übermittelt. Das Attribut errorWhenNoCallback weist den DRDA-Dienst an, BGNBNDRM (Begin Bind Reply Message) an den DRDA AR-Client zurückzugeben, wenn die benutzerdefinierte Bind-Listener-Komponente keine Informationen über die Callback-Schnittstelle zurückgibt. Dieses optionale Attribut akzeptiert einen booleschen Wert. Der Standardwert lautet true.


<packageBindListeners>
  <packageBindListener
    type="Microsoft.HostIntegration.Drda.Common.PackageBindListener, Microsoft.HostIntegration.Drda.Common, Version=9.0.1000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"
    errorWhenNoCallback="true"/>
</packageBindListeners>

Standardwerte für packageBindListener in der DRDA-Dienstanwendungskonfigurationsdatei.

Problem beim Starten des DRDA-Diensts als Befehlszeilenanwendung

Beim Starten des DRDA-Diensts als Befehlszeilenanwendung schlägt das Programm möglicherweise mit einem Fehler fehl.

C:\Program Files\Microsoft Host Integration Server 2013\system>MsDrdaService.exe -c
Only one usage of each socket address (protocol/network address/port) is normally permitted

Die Lösung besteht darin, den bereits ausgeführten DRDA-Dienst als Windows-Dienst zu beenden.

Mithilfe eines Befehlsfensters können Sie den DRDA-Dienst beenden und starten.

  1. Zeigen Sie im Startmenü auf "Alle Programme", zeigen Sie auf Microsoft Visual Studio 2010, zeigen Sie auf Visual Studio Tools, klicken Sie mit der rechten Maustaste auf die Visual Studio x64 Win64-Eingabeaufforderung (2010), und klicken Sie auf "Als Administrator ausführen". Das Dialogfeld " Benutzerkontensteuerung " wird angezeigt. Klicken Sie zum Fortsetzen des Vorgangs auf Ja .

  2. Geben Sie an der Eingabeaufforderung "net stop msdrdaservice" ein, und drücken Sie die Eingabetaste.

    C:\Windows\system32>net stop msdrdaservice
    The Microsoft Service for DRDA service is stopping.
    The Microsoft Service for DRDA service was stopped successfully.
    

    Mithilfe eines Befehlsfensters können Sie den DRDA-Dienst als Anwendung ausführen.

  3. Zeigen Sie im Startmenü auf "Alle Programme", zeigen Sie auf Microsoft Visual Studio 2010, zeigen Sie auf Visual Studio Tools, klicken Sie mit der rechten Maustaste auf die Visual Studio x64 Win64-Eingabeaufforderung (2010), und klicken Sie auf "Als Administrator ausführen". Das Dialogfeld " Benutzerkontensteuerung " wird angezeigt. Klicken Sie zum Fortsetzen des Vorgangs auf Ja .

  4. Geben Sie an der Eingabeaufforderung net stop msdrdaservice ein, und drücken Sie die Eingabetaste.

    C:\Windows\system32>net stop msdrdaservice
    The Microsoft Service for DRDA service is stopping.
    The Microsoft Service for DRDA service was stopped successfully.
    
  5. Geben Sie an der Eingabeaufforderung cd C:\Windows\system32>cd C:\Programme\Microsoft Host Integration Server 2013\system ein, und drücken Sie die Eingabetaste.

    C:\Program Files\Microsoft Host Integration Server 2013\system>MsDrdaService.exe -c
    DrdaAs Information: 0 : [10/4/2011 4:51:48 PM] Microsoft Service for DRDA (build: 9.0.1203.0 )
    DrdaAs Information: 0 : [10/4/2011 4:51:48 PM] TCP communication manager listening on port 446
    

    Hinweis

    Der DRDA-Dienstprotokoll-Schreiber gibt Informationen an das Konsolenfenster aus.

Benutzerdefinierte Paketbindungslistener können nicht geladen werden.

Wenn der DRDA-Dienst beim Starten des Diensts keinen benutzerdefinierten Paketbindungslistener laden kann, protokolliert der DRDA-Dienst die folgende Warnung.

Warning:0:2:[Apr 30 2012 16:04:12.996] SessionManager::Initialize PackageBindingListener failed to load type: " Microsoft.HostIntegration.Drda.Common.PackageBindListener, Microsoft.HostIntegration.Drda.Common, Version=9.0.1000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "

Wenn msDrdaService zur Laufzeit keinen benutzerdefinierten Paketbindungslistener laden kann, gibt msDrdaService keinen Fehler zurück.

Hinweis

Der DRDA-Dienst wird ohne zusätzliche Warnung fortgesetzt. Der DRDA-Dienst unterstützt mehrere gleichzeitige benutzerdefinierte Paketbindungslistener. Der IT-Experte oder -Entwickler sollte das Problem basierend auf der anfänglichen Warnung nach dem START des DRDA-Diensts beheben.

Abfrage für SYSIBM. SYSDUMMY1 gibt SQLCODE--204 zurück.

Wenn Sie ein SYSIBM-Schema und SYSDUMMY1 Tabelle definieren möchten, bearbeiten Sie die USE-Klausel, um auf die SQL Server-Zieldatenbank zu verweisen, und führen Sie dann die Anweisung aus.

/****** HAS OUTPUT PARAMS ******/

Die interne Bindung des DRDA-Diensts wird diesen Kommentar beim Ausführen der Anweisung CREATE PROCEDURE enthalten.

USE [CONTOSO]
GO
/****** Object:  Schema [SYSIBM]    Script Date: 09/26/2012 13:21:38 ******/
IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = N'SYSIBM')
EXEC sys.sp_executesql N'CREATE SCHEMA [SYSIBM] AUTHORIZATION [dbo]'
GO
/****** Object:  Table [SYSIBM].[SYSDUMMY1]    Script Date: 09/26/2012 13:21:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[SYSIBM].[SYSDUMMY1]') AND type in (N'U'))
BEGIN
CREATE TABLE [SYSIBM].[SYSDUMMY1]([IBMREQD] [char](1) NOT NULL) ON [PRIMARY]
END
GO
SET ANSI_PADDING OFF
GO
INSERT [SYSIBM].[SYSDUMMY1] ([IBMREQD]) VALUES (N'Y')

DDL zum Erstellen des SYSIBM-Schemas und der SYSDUMMY1-Tabelle.

Abfrage gibt einen leeren Parameterwert zurück.

Die CREATE PROCEDURE-Anweisung sollte einen Kommentar enthalten, um die einen oder mehrere OUTPUT-Parameter anzugeben, um die Daten aus der SELECT-Anweisung zurückzugeben.

/****** HAS OUTPUT PARAMS ******/

Die interne Bindung des DRDA-Dienstes wird beim Ausführen des CREATE PROCEDURE-Statements diesen Kommentar enthalten.

Abfrage gibt ein leeres Resultset zurück.

Beim Ausführen von DECLARE CURSOR FOR SELECT gibt der DRDA-Dienst möglicherweise ein leeres Resultset und den folgenden Fehler zurück.

THE CURSOR  IS NOT IN A PREPARED STATE
SQLSTATE: 26501, SQLCODE: -514

Die CREATE PROCEDURE-Anweisung sollte einen Kommentar enthalten, um anzugeben, dass die gespeicherte Prozedur ein Resultset zurückgibt.

/****** RETURN RESULTSET ******/

Die interne Bindung des DRDA-Diensts enthält diesen Kommentar während der Ausführung der "CREATE PROCEDURE"-Anweisung.

Fehler beim Binden der Kopie mit SQLCODE -904

Beim Ausführen von DRDA BGNBND (Begin Bind) zum Kopieren eines Pakets von DB2 für z/OS auf SQL Server mithilfe des Db2 Admin Bind Copy Package Panel kann das DB2-System einen SQLCODE -904 zurückgeben.

Dieses Problem kann durch eine falsche Sicherheitskonfiguration verursacht werden, die Ihrem 3270-Profil zugeordnet ist, das zum Anmelden bei der Hostsitzung verwendet wird.

Execute Package schlägt mit SQLCODE 805 fehl

Beim Ausführen eines statischen SQL-Pakets von DB2 für z/OS zu SQL Server unter Verwendung eines lokal angefügten Programms (DB2 für z/OS, TSO, CICS) gibt das DB2-System möglicherweise einen SQLCODE -805 zurück.

Dieses Problem kann durch falsche Zuordnung von DB2 für z/OS zu vollqualifizierter Paketbenennungskonvention für SQL Server verursacht werden. Überprüfen Sie, ob die Bindungskopie eine gespeicherte Prozedur im SQL Server-Schema erstellt hat, die dem DB2 für z/OS-Literal oder übereinstimmenden Auflistungsnamen entspricht. Überprüfen Sie außerdem, ob die MsDrdaService.exe.config DatabaseAliases alle erforderlichen DB2-Speicherorte zu SQL Server-Datenbanknamenzuordnungen oder DB2-Auflistungen zu SQL Server-Schemanamenzuordnungen enthält.

  <databaseAlias sourceLocation="CONTOSO"
                 sourceCollection="DSN8HC91"
                 targetDatabase="ContosoRetailDW"
                 targetSchema="DSN8910" />
  <databaseAlias sourceLocation="NWIND"
                 sourceCollection="DSN8HC91"
                 targetDatabase="Northwind"
                 targetSchema="DSN8910" />
</databaseAliases>

Überprüfen Sie außerdem die durch Kommas getrennten Werte für das packageProcedureSchemaList-Attribut innerhalb des Datenbankelements der MsDrdaService.exe.config.

packageProcedureSchemaList="DBO,DSN8910"