Zum Hauptinhalt springen
Version: 5.2

DB-Anbindungen

Es können an dieser Stelle nicht alle Datenbanksysteme behandelt werden. Vielleicht stößt Sie der eine oder andere Hinweis aber auf die Lösung für „Ihr“ System.

Verbindung kommt nicht zustande – lokal und remote

Die Schaltfläche „Verbindung testen“ liefert einen Fehler zurück. Die Fehlermeldung gibt oft schon den richtigen Hinweis.

  • Ist der Server richtig benannt? Z. B. reicht für MySQL oder MS SQL die Angabe der IP, für MS SQL Express muss aber die Instanz benannt sein, z. B.: localhost\SQLEXPRESS
  • Ist der Name der Datenbank richtig geschrieben? Hat der Benutzer Zugriffsrechte auf die Datenbank? – z. B. werden in MS SQL die Datenbanken den einzelnen „Anmeldungen“ zugewiesen. Fragen Sie Ihren Datenbank-Administrator!
  • MS SQL: Ist für den Benutzer die richtige Authentifizierung eingestellt („SQL und Windows“ bei Zugang mit Benutzer/Passwort)?
  • Stimmen Benutzername und Passwort? Achten Sie auf Groß-/Kleinschreibung!
  • Integrierte Sicherheit ist aktiviert: Der Verbindungstest ist nicht aussagekräftig. Die integrierte Sicherheit nutzt den lokalen Windows- oder den Domäne-Benutzer, unter dem das jeweilige Programm gestartet wurde, zur Anmeldung. In der Konfigurationsumgebung ist das in der Regel der Benutzername, mit dem Sie sich am Rechner angemeldet haben, der Router-Dienst hingegen läuft standardmäßig unter „System“ (reicht für lokalen Zugriff auf MS SQL, nicht für Remote-Zugriff).
  • Sind die benötigten Dienste gestartet (MS SQL: SQL Server und SQL-Server-Browser, via Server-Konfigurationsmanager oder „Systemsteuerung – Verwaltung – Dienste“)?

Verbindung kommt nicht zustande – nur remote

Die Schaltfläche „Verbindung testen“ liefert einen Fehler zurück. Die Fehlermeldung gibt oft schon den richtigen Hinweis. Zusätzlich zu den oben genannten Punkten prüfen Sie:

  • Steht die Netzwerkverbindung? Können Sie den Datenbankrechner anpingen („Start – Ausführen – ping <IP>“)? Fragen Sie Ihren Netzwerkadministrator!
  • Sind die Firewalls der beteiligten Rechner abgeschaltet? Wir empfehlen, die Windows-Firewalls der beteiligten Rechner zu deaktivieren. Andernfalls achten Sie bitte auf korrekte Portfreigabe. Bitten Sie Ihren Netzwerkadministrator, die uneingeschränkte Kommunikation zwischen Router und Datenbank-Server zu ermöglichen.
  • Ist der Server richtig benannt? Z. B. reicht für MySQL oder MS SQL die Angabe der IP, für MS SQL Express muss aber die Instanz benannt, z. B.: 192.168.5.184\SQLEXPRESS bzw. Rechnername\SQLEXPRESS
  • Lässt die Datenbank Remote-Verbindungen zu (z. B. in MS SQL muss dies für den entsprechenden User aktiviert werden)?
  • Sind die entsprechenden Protokolle aktiviert (MS SQL: Im Server-Konfigurationsmanager je nach Verbindung „Named Pipes“ oder „TCP/IP“ aktivieren in Netzwerk- und Native-Client-Konfiguration)?

Verbindung kommt zustande, aber es sind keine Tabellen sichtbar (MS SQL)

Die Schaltfläche „Verbindung testen“ liefert „OK“ zurück. In der Projektierung des Transferobjekts können jedoch keine Tabellen ausgewählt werden.

  • Hat der Benutzer die entsprechenden Rechte auf die Datenbank? – „Tabellen auflisten“ ist dem Benutzer je nach Rolle unter Umständen nicht gestattet.
    • Unter „Anmeldungseigenschaften“ der entsprechenden Anmeldung in der Benutzerzuordnung für die benötigte Datenbank „db_datareader“ und „db_datawriter“ zuweisen. Achtung: Zum Ausführen von Stored Procedures wird „db_owner“ benötigt. – Fragen Sie Ihren Datenbank-Administrator.
    • Maximal können dem Benutzer auch Administratorrechte auf der Datenbank oder am System zugewiesen werden (z. B. die Rolle „sysadmin“). Dies sollte aber nur kurzzeitig zur Fehlersuche geschehen.

Stored Procedures können nicht ausgeführt werden. (MS SQL)

  • Hat der Benutzer die entsprechenden Rechte auf die Datenbank?
    • Unter „Anmeldungseigenschaften“ der entsprechenden Anmeldung in der Benutzerzuordnung für die benötigte Datenbank „db_owner“

Stored Procedures werden abgebrochen.

  • Sind Command Time-out der Anbindung und Time-out der entsprechenden Verbindung richtig gesetzt?
    • In dem entsprechenden „Storage“- Kapitel den Wert für Command Time-out erhöhen.
    • In dem entsprechenden „Storage“- Kapitel den Wert für Time-out erhöhen.

Verbindung kommt zustande, aber im DB-Transferobjekt taucht die DB-Anbindung nicht auf.

Der Verbindungstest war erfolgreich, jedoch taucht die DB-Anbindung in der Verbindungsprojektierung im DB-Transferobjekt nicht auf oder es wird ein Fehler zurückgeliefert.

  • Sie müssen die DB-Anbindung über die Schaltfläche „OK“ speichern, bevor sie zur Verfügung steht.

Zur Laufzeit kommt kein Datentransfer zustande

Die Verbindung konnte zur Entwurfszeit problemlos hergestellt werden. Zur Laufzeit meldet die Statusanzeige einen Verbindungsfehler. Öffnen Sie über das Tray-Icon die Log-Datei. Suchen Sie am Ende der Datei nach der Fehlermeldung. Sieht die Fehlermeldung so aus?

14.07.10 17:33:42.228 [Error:::SqlConstantConnection]
Fehler beim öffnen der SqlVerbindung: System.Data.SqlClient.SqlException:
Fehler bei der Anmeldung für den Benutzer 'NT-AUTORITÄT\ANONYMOUS-ANMELDUNG'
  • Wenn Sie remote auf den Datenbankserver zugreifen und „integrierte Sicherheit“ aktiviert haben, dürfen Sie den Dienst nicht als System-User ausführen. Konfigurieren Sie den Dienst so, dass er unter dem Domäne-Nutzer ausgeführt wird.