Jump to content

SQL DB in der Anwendung nicht erreichbar, aber ODBC-Verbindung funktioniert


Direkt zur Lösung Gelöst von BSChris,

Empfohlene Beiträge

Hallo,

 

zum testen habe eine SQL-Datenbank von einem SQL-Server 2014 auf einen SQL-Server 2019 wiederhergestellt. Die Datenbank selbst ist auf dem Kompatiblitätslevel 100 (SQL 2008).

Den lokalen User der für die Datenbank genutzt wird, habe ich mit migriert und hat auch die gleichen Rollen wie zuvor auf dem alten SQL-Server auch.

Auf einem Session Host habe ich die ODBC-Verbindung zur Testdatenbank hergestellt. Die lässt sich mit dem lokalen User auch verbinden.

image.png.eccdb5841e404d8451f36a9f563d56b9.png

Doch in der Anwendung selbst, die ebenfalls auf dem Session Host gestartet wird bekomme ich folgendes:

image.png.32b7ee0f8cfc049658dc83d2b3267a98.png

Nach dem Wort User wird hier im Bild der User der ODBC-Verbindung angezeigt.

 

Wenn der ODBC-Test Erfolgreich war, sollte es doch eigentlich auch funktioneiren oder?

Auf beiden SQL-Servern sind die gleichen Einstellungen bzw. Berechtigungen, von daher bin ich etwas irritiert.

Im Grunde gibt es nur einen Unterscheid zwischen den Datenbanken, und das ist der Server also das OS und die SQL-Version.

Vielleicht weiss jemand einen Rat.

 

Grüße Chris

bearbeitet von BSChris
Link zu diesem Kommentar
Geschrieben (bearbeitet)

Hi MDD,

 

tatsächlich habe ich 

EXECUTE sp_change_users_login @action = 'Report'

mal ausgeführt und der User wurde mir angezeigt. Anschließend habe ich folgendes ausgeführt:

EXECUTE sp_change_users_login @action = 'Auto_Fix',
                              @userNamePattern = 'user',
                              @password = 'password'

Danach kam nur noch die Message, dass ich ein anderes Passwort nehmen muss, Aufgrund der Password Policy vom Server.

Gemacht getan!

Auf dem Session Host die ODBC-Verbindung angepasst (Passwort), allerdings erhalte ich in der Applikation beim auswählen der Datenbank die gleiche Fehlermeldung.

Ich habe noch nicht den aktuellen ODBC Treiber für den SQL Server installiert. Aber wenn der ODBC-Test Erfolgreich ist, spielt das doch eigentlich keine Rolle mehr oder?

 

Gruß

Chris

bearbeitet von BSChris
Link zu diesem Kommentar

Hallo,

 

nehmt es mir nicht übel, dass ich bisher noch nicht von mir gegeben habe, ich melde mich Morgen,

da ich gerade etwas unter Strom stehe :)

Das steht im EventLog des Neuen SQL-Servers

image.png.6e61e6ec67ddb7b118f2e4e5ec280b2c.png

CLIENT: ist der Session Host. Es deutet ja auf dasPasswort hin, nur warum funktioneirt dann die ODBC-Verbindung?

Wie gesagt ich melde mich Morgen.

Vielen Dank euch

 

Gruß

Chris

Link zu diesem Kommentar
vor einer Stunde schrieb Sunny61:

Der TO hat sich sicher auf diese Meldung bezogen:

 

Aber der Zugriff auf die DB hat, warum auch immer, nicht funktioniert.

Ja, stimmt. Aber wenn der User keinen Zugriff auf die Datenbank hätte, sich aber anmelden dürfte steht das "Login failed for user 'MY-PC\MyName'. Reason: Failed to open the explicitly specified database. [CLIENT: ]" im Errorlog und nicht das das falsche Passwort bei der Application genutzt wird.

Link zu diesem Kommentar
  • Beste Lösung

Hallo,

 

vielen Dank für eure Unterstützung. Das Problem konnte ich mit einem externen Dienstleister lösen.

Folgendes wurde durchgeführt.

  • Im Programmverzeichnis der Applikation, wird bei der ersten Anmeldung für die Datenbank eine sql_password.dat datei erstellt. Ein normaler Terminal User hat aber keine Rechte, diese Datei anzulegen. Daher musste die Applikation extra als Administrator ausgeführt werden, damit diese Datei erstellt werden kann. Dieses muss nur einmalig von einem Administrator erstellt werden, der normale Terminal User zieht sich diese nach Anmeldung automatisch bzw. nutzt diese mit.
  • In den ODBC-Verbindungen sind mehrere Datenbanken hinterlegt und ich muss die ODBC-Verbindungen folgender maßen benennen.
    • db_sql_server_1
    • db_sql_server_2
    • db_sql_server_3
      usw...
      Ich habe die 3 verwendet und ausgerechnet mit der 3 hat die Applikation ein Problem weshalb ich dann die 4 nehmen musste.

Im Grunde diese beiden Sachen haben für das scheitern gesorgt.

Das war es im grunde genommen, einen neuen ODBC-Treiber hatte ich getestet aaber gab mir die gleiche fehlermeldung.

 

Ich wusste selbst nicht, das dies ein so Applikations lastiges Thema ist. Dennoch vielen Dank für eure Denkanstöße und eure Zeit.

 

Gruß

Chris

Link zu diesem Kommentar

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...