Wenn Sie eine Benutzerdatenbank erstellt haben, müssen Sie dem Broker und seinen Ausführungsgruppen Zugriff auf die Datenbank erteilen.
Verwenden Sie den Befehl mqsisetdbparms für die Angabe eines Benutzer-ID/Kennwortpaares, mit dem der Broker auf die einzelnen Datenbanken zugreifen kann. Falls Sie eine Standardbenutzer-ID und ein Kennwort definieren möchten, die vom Broker verwendet werden können (sofern Sie keine speziellen Werte für eine bestimmte Datenbank definiert haben), führen Sie den Befehl mqsisetdbparms aus und setzen Sie ResourceName auf den Wert dsn::DSN mit der von Ihnen gewählten Angabe für Benutzer-ID und Kennwort.
Wenn Sie Ihren Broker aus einem früheren Release migriert haben, hat der Broker zur eigenen Verwendung auf eine Datenbank zugegriffen und Sie haben möglicherweise die Benutzer-ID und das Kennwort zum Zugriff auf diese Datenbank definiert, indem Sie mit den Parametern -u und -p im Befehl mqsicreatebroker eine Benutzer-ID und ein Kennwort für eine Datenbankverbindung angegeben haben. Alternativ dazu haben Sie möglicherweise die Servicebenutzer-ID und das zugehörige Kennwort (angegeben über die Parameter -i und -a in demselben Befehl) verwendet. Wenn Sie den Broker migrieren, werden diese Parameter migriert und gespeichert und werden vom migrierten Broker für den Zugriff auf Datenbanken genutzt, für die kein Zugriff über eine spezielle ID definiert ist.
Der Broker verwendet die folgenden Werte in der angegebenen Reihenfolge:
Nur unter z/OS: Wenn Sie bei Angabe von dsn::DSN im Parameter -n kein Kennwort angeben, stellt der Broker eine Verbindung zur DB2-Datenbank mit der Benutzer-ID der auf dem Broker gestarteten Task her. Der Broker verwendet die im Befehl angegebene Benutzer-ID für die Generierung vollständig qualifizierter SQL-Anweisungen, wie beispielsweise in ESQL für die Erstellung gespeicherter Prozeduren. Für SQL-Anweisungen für nicht gespeicherte Prozeduren, für die kein Schema angegeben ist, verwendet DB2 den CURRENTSQLID-Wert. Wenn Sie keinen CURRENTSQLID-Wert festgelegt haben, verwendet der Broker die im Befehl mqsisetdbparms angegebene Benutzer-ID. Wenn Sie mit diesem Befehl keine Benutzer-ID angegeben haben, verwendet DB2 die Benutzer-ID der vom Broker gestarteten Task.
Wenn Sie Nachrichtenflüsse implementieren möchten, die in global koordinierten Transaktionen für einen Broker verwendet werden, müssen Sie zusätzliche Berechtigungen erteilen. Der Abschnitt Datenbanken für die globale Koordination von Transaktionen konfigurieren enthält weitere Informationen hierzu.
Die Art der Zugriffsberechtigung hängt vom verwendeten Datenbankmanager und der Plattform ab, auf der Sie die Datenbank erstellt haben. Die Anweisungen können je nach Release der einzelnen Datenbanken ebenfalls variieren. Bitten Sie zur Ausführung dieser Task Ihren Datenbankadministrator um Hilfe oder schlagen Sie in der Dokumentation der jeweiligen Datenbank nach.
In den folgenden Abschnitten finden Sie Beispiele der Schritte, die zur Bereitstellung der erforderlichen Berechtigung für bestimmte Datenbanken ergriffen werden können:
Die Zugriffsberechtigung für eine DB2-Datenbank kann über die DB2-Steuerzentrale oder die DB2-Befehlszeile erteilt werden:
Gehen Sie wie unten beschrieben vor, um Zugriffsberechtigungen für Oracle-Datenbanken zu erteilen: