none
Verbindungsserver zur IBM DB2 bringt Fehlermeldung

    Frage

  • Guten Morgen,

    ich verwende bei mehreren Kunden einen Verbindungsserver zur DB2.

    Bei einem Kunden bekomme ich eine Fehlermeldung:Fehlermeldung

    Mich irritiert hier hier: Einmal Anmeldungstimeout und einmal ungültiges Attribut.

    Was ist denn hier der eigentlche Fehler?

    Die Konfiguration sieht so aus:

    Konfiguration

    Es handelt sich um einen SQL Server Express 2014 und eine DB2 10.5.

    Hat jemand eine Idee?

    Besten Dank.

    Gregor

    Dienstag, 11. Dezember 2018 08:22

Antworten

  • Guten Abend,

    ich habe den Verbindungsserver jetzt über Provider for ODBC eingerichtet.

    Das ging zuerst auch nicht. Ich habe mir dann die Installation angeschaut und festgestellt, dass der SQL Server Windows Dienst unter einem tehnischen User lief.

    Ich habe das umgestellt auf local System und plötzlich konnte ich zugreifen.

    Kann mir das jemand erklären.

    Erst mal natürlich Danke für Eure Hinweise.

    Gregor

    Donnerstag, 13. Dezember 2018 14:35

Alle Antworten

  • Hallo Gregor,

    der Produktname ist eigentlich weniger wichtig. Du versuchst aber über den Anbieter für SQL Server eine Verbindung herzustellen. Der sucht dann einen anderen SQL Server.

    So sollte es gehen: Erstellen eines Verbindungsservers mit DB2 mit Microsoft OLE DB Provider für DB2


    Einen schönen Tag noch, Christoph - http://www.insidesql.org/blogs/cmu

    Dienstag, 11. Dezember 2018 09:06
  • SQL-Server Express unterstützt, glaube ich, nicht alle Datenbanken sondern nur wiederum SQL-Server.

    Ansonsten die Verbindungsfolge mal über z.B. Excel und "Daten von MS-Query" importieren probieren.
    Im Verbindungsmanager sollten User und Kennwort für die Anmeldung ebenso hinterlegt werden.

    Dienstag, 11. Dezember 2018 09:08
  • Hallo Gregor,

    um dich zu einer DB2 Datenbank verbinden zu können, kannst Du schlecht den SQL Server Treiber verwenden.

    Installier die richtigen Treiber für die IBM DB2 Zugriffe bzw. verwende diese, wenn Du sie schon installiert hast. Siehe dazu:

      Erstellen eines Verbindungsservers mit DB2 mit Microsoft OLE DB Provider für DB2

      How to create a SQL Server link server to IBM DB2

      How to create a linked server with IBM DB2 OLE DB provider

      ...


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    Dienstag, 11. Dezember 2018 09:09
    Moderator
  • Hallo,

    sorry, da war ich komplett blind bei dem Anbieter.

    Hier die korrekte Konfiguration:

    Dabei kommt der Fehler:

    Dienstag, 11. Dezember 2018 09:35
  • Hallo Gregor,

    schau bitte mal hier:

      db2oledb the authentication used is not supported

    Dort findest Du mögliche Lösungen. Da wir das mit deinem System nicht testen können, probier bitte selbst mal.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    Dienstag, 11. Dezember 2018 09:45
    Moderator
  • Hallo Stefan,

    ok, ich habe den Connection String ergänzt um Authentication=Server_Encrypt_UsrPwd;

    Jetzt bekomme ich diesen Fehler, der für mich nicht schlüssig ist.

    Mit den im SQL Server im Connection String angegebenen Credentials habe ich eine ODBC Datenquelle angelegt, die sich erfolgreich verbinden kann.

    Danke,

    Gregor


    Dienstag, 11. Dezember 2018 13:52
  • Könnte das hier helfen?

    PDF Dokument

    Seite 111:

    Meldung: Der Benutzer ist nicht autorisiert, auf die Hostressource zuzugreifen. Überprüfen Sie Ihre Authentifizierungsanmeldeinformationen, oder wenden Sie sich an den Systemadministrator. Ursache: Die Antwortmeldung Keine Autorisierung für relationale Datenbank zeigt an, dass der Server den Benutzer nicht mit den Anmeldeinformationen authentifizieren kann, die beim Herstellen der Verbindung bereitgestellt wurden. Aktion: Überprüfen Sie die Verbindungsinformationen, um sicherzustellen, dass der angegebene Benutzername (Benutzerbezeichner), das Kennwort und die Sicherheitsmethode (Interaktive Anmeldesicherheit, Einmaliges Anmelden oder Kerberos) die Serveranforderungen erfüllen, die für den aktuellen Benutzer definiert sind, und wiederholen Sie dann die Verbindungsanforderung. Überprüfen Sie eine Clientnetzwerk -Ablaufverfolgung, um zu ermitteln, ob der Server einen optionalen Schweregradcode oder andere optionale Diagnoseinformationen zurückgegeben hat. Weitere Informationen finden Sie in den Themen zum Benutzernamen, zum Kennwort und zum Sicherheitsmodell.


    Einen schönen Tag noch, Christoph - http://www.insidesql.org/blogs/cmu

    Dienstag, 11. Dezember 2018 14:18
  • Guten Morgen,

    ich habe mit den Parametern noch etwas experimentiert und festgestellt, dass "Package Collection=" eine Pflichtangabe ist.

    In meiner lokalen DB2 funktioniert das mit der Angabe "admin".

    Ich bin mir aber nicht sicher, ob das auch ebom Kunden so ist.

    Leider kann mir der Kunde/Dienstleister da nicht wirklich helfen...

    Ich habe diesen Parameter in dem DF aber auch nicht gefunden.

    Besten Dank.

    Gregor

    Donnerstag, 13. Dezember 2018 08:53
  • Bei DB2/400 war eine Collection immer ein Schema bzw. eine LIB.

    In Packages wurden die kompilierten Statements abgelegt (SQLPKG).

    Versuch doch mal ein bestehendes Schema auf dem der User ausreichend Rechte hat.

    DB2 packages: Concepts, examples, and common problems


    Einen schönen Tag noch, Christoph - http://www.insidesql.org/blogs/cmu


    Donnerstag, 13. Dezember 2018 10:52
  • Guten Abend,

    ich habe den Verbindungsserver jetzt über Provider for ODBC eingerichtet.

    Das ging zuerst auch nicht. Ich habe mir dann die Installation angeschaut und festgestellt, dass der SQL Server Windows Dienst unter einem tehnischen User lief.

    Ich habe das umgestellt auf local System und plötzlich konnte ich zugreifen.

    Kann mir das jemand erklären.

    Erst mal natürlich Danke für Eure Hinweise.

    Gregor

    Donnerstag, 13. Dezember 2018 14:35