Laden...

[gelöst] SQL Networkinterface Error 26

Erstellt von Sareth vor 11 Jahren Letzter Beitrag vor 11 Jahren 21.048 Views
S
Sareth Themenstarter:in
15 Beiträge seit 2007
vor 11 Jahren
[gelöst] SQL Networkinterface Error 26

Hallo,

ich habe folgende Umgebung:
Einen Server (im lokalen Netzwerk) auf dem Microsoft SQL 2008 R2 Express und einen PC mit Visual C# 2010 Express.
Auf dem Server habe ich eine Datenbank-Instanz sowie einige Tabellen bereits angelegt. Der PC soll auf diese Datenbank zugreifen.

Leider bekomme ich die Verbindung zu Datenbank nicht auf die Reihe. Habe schon diverse Foren durchforstet und mich auch am Openbook orientiert.

Hier der Code-Ausschnitt von der Verbindung (habe die entsprechenden Werte hier durch dummys ersetzt):

            try
            {
                SqlConnectionStringBuilder conBuilder = new SqlConnectionStringBuilder();
                conBuilder.DataSource = "IP";
                conBuilder.InitialCatalog = "Instanz";
                conBuilder.UserID = "Hostname\\Username";
                conBuilder.Password = "Passwort";
                SqlConnection con = new SqlConnection(conBuilder.ConnectionString);
                con.Open();
            }
            catch (Exception e)
            {
                MessageBox.Show("Fehler: " + e, "Fehler");
            }

Habe auch bereits versucht über "Dienstbasierte Datenbank" die *.mdf Datei über UNC zu öffnen, dabei gab es allerdings eine Fehlermeldung.

Finde leider keine Lösung für mein Problem und weiß nicht was ich bei der Verbindung falsch gemacht habe 😦

Hoffe ihr könnt mir einen Tipp geben!

2.187 Beiträge seit 2005
vor 11 Jahren

Hallo Sareth,

genau kann ich es nicht sagen, aber ich denke du hast InitialCatalog und DataSource nicht korrekt gefüllt.

Wenn der SQL-Server die Standard-Installtion ist muss es wie folgt sein:


conBuilder.DataSource = "IP";
conBuilder.InitialCatalog = "Datenbank-Name";
conBuilder.UserID = "Hostname\\Username";
conBuilder.Password = "Passwort";

Wenn er nicht die Standard-Installation ist, bekommt der SQL-Server einen eigenen Namen (der Instanz-Name) und muss wie folgt angegeben werden.


conBuilder.DataSource = "IP\Instanz-Name";
conBuilder.InitialCatalog = "Datenbank-Name";
conBuilder.UserID = "Hostname\\Username";
conBuilder.Password = "Passwort";

Gruß
Juy Juka

D
615 Beiträge seit 2009
vor 11 Jahren

Hallo Sareth

Vielleicht wäre es doch noch hilfreich uns den Fehler mitzuteilen ? 😃

Beste Grüsse

Diräkt

S
Sareth Themenstarter:in
15 Beiträge seit 2007
vor 11 Jahren

Wenn er nicht die Standard-Installation ist, bekommt der SQL-Server einen eigenen Namen (der Instanz-Name) und muss wie folgt angegeben werden.

  
conBuilder.DataSource = "IP\Instanz-Name";  
conBuilder.InitialCatalog = "Datenbank-Name";  
conBuilder.UserID = "Hostname\\Username";  
conBuilder.Password = "Passwort";  
  

Hallo JuyJuka,

ok das hatte ich wirklich anders da stehen. Habe es entsprechend geändert aber es kommt nach wie vor der gleiche Fehler. Hatte auch schon die Windows Firewall vom Server in Verdacht, aber auch nach deaktivieren erhalte ich die Fehlermeldung.

Habe einen Screenshot davon angehängt!

16.807 Beiträge seit 2008
vor 11 Jahren

Error 26 ist der häufigste SQL Server Fehler und ist meist auf eine Fehlkonfiguration des Servers zurück zu führen.
Also nimm Dir die Zeit, nutz ein wenig Google gemäß [Hinweis] Wie poste ich richtig? Punkt 1.1 und prüfe alle Hinweise (Dienst wirklich aktiv? Firewall? Reagiert SQL Management Studio?....), die Du bezüglich Error 26 finden kannst.

sql server error 26

Wenn dann alles geprüft ist, dann kannst Dich auf die Fehlersuche im Code machen.

3.825 Beiträge seit 2006
vor 11 Jahren

IMMER in dieser Reihenfolge testen :

Per Management Studio vom Server aus mit Windows-Sicherheit auf die Datenbank zugreifen.

Per Management Studio vom Server aus mit SQL-Sicherheit (User, Kennwort) auf die Datenbank zugreifen.

Per Management Studio vom Arbeitsplatz-PC aus mit SQL-Sicherheit auf die Datenbank zugreifen.

Firewall ausschalten.

Prüfen ob TCP-IP-Protokoll aktiviert ist (Ist bei Express per default ausgeschaltet).

Erst dann mit Deinem Code auf die Datenbank zugreifen.

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

S
Sareth Themenstarter:in
15 Beiträge seit 2007
vor 11 Jahren

Konnte die Konfigurationsfehler vom Server beheben, jetzt hängt es wohl nur noch an der Anmeldung. Ich bekomme sowohl im Mixed-Mode als auch im Windows-Authentication-Mode jeweils den gleichen Fehler.

Es scheitert schon am zweiten Punkt, egal in welchem Modus. Habe auch Testweise einen SQL-Benutzer in der Datenbank selbst angelegt, mit diesem kann ich mich aber auch nicht anmelden. Habe auch keine Möglichkeit gesehen diesem Benutzer ein Passwort zu vergeben.

F
10.010 Beiträge seit 2004
vor 11 Jahren

Und du hast auch auf dem Sql Server TCP/IP eingeschaltet?

S
Sareth Themenstarter:in
15 Beiträge seit 2007
vor 11 Jahren

Und du hast auch auf dem Sql Server TCP/IP eingeschaltet?

Ja ist aktiviert. Bekomme jetzt nur noch Authentifizierungsfehler.

Über die Verwaltungskonsole kann ich mich mit dem Windows Benutzer einloggen, mit einem SQL-Benutzer allerdings nicht (wobei ich mir nicht sicher bin ob ich den richtig angelegt habe. Hab da in der MSDN eine Anleitung gefunden in der man einen Nutzer direkt innerhalb der Datenbank anlegt, dachte das müsste für die Instanz erfolgen. Konnte auch kein Kennwort festlegen).

Mit meinem Programm kann ich mich überhaupt nicht verbinden und erhalte sofort Authentifizierungsfehler. Da ich privat keine Domain habe gebe ich den Benutzernamen am Server nach dem Schema "<Hostname>&lt;Username>" ein.

W
4 Beiträge seit 2012
vor 11 Jahren

Hallo,

meine bescheidenen Erfahrungen nach reicht für ein SQL Benutzer Login ein Eintrag im SSMS unter Security -> Logins.

Ein Login war dann über Applikation und SSMS möglich. Nachdem ich zusätzlich ein Login in der DB (<Datenbankname> --> Security --> Users) angelegt hatte, funktionierte das Login nicht mehr.

Viele Grüße,
WillBill

3.825 Beiträge seit 2006
vor 11 Jahren

Hallo Sareth,

Ich bekomme sowohl im Mixed-Mode als auch im Windows-Authentication-Mode jeweils den gleichen Fehler.

Der SQL-Server MUSS auf Mixed-Mode (Gemischte Anmeldung..) stehen. Wenn Du den SQL-Server auf "Windows-Auth." stellt wirst Du beim Anmelden mit User/Kennwort IMMER eine Fehlermeldung bekommen.

Es scheitert schon am zweiten Punkt, egal in welchem Modus. Habe auch Testweise einen SQL-Benutzer in der Datenbank selbst angelegt, mit diesem kann ich mich aber auch nicht anmelden. Habe auch keine Möglichkeit gesehen diesem Benutzer ein Passwort zu vergeben.

Der Datenbankbenutzer sa ist schon angelegt. Wie folgt aktivieren und Kennwort vergeben :

Im SQL Server Management Studio "Sicherheit" / "Anmeldungen"
Klick auf "sa".
Bei "Allgemein" Kennwort zweimal eingeben.
Bei "Status" auf () Erteilen und () Aktiviert stellen.

Das wars schon !

. Da ich privat keine Domain habe gebe ich den Benutzernamen am
Server nach dem Schema "<Hostname>&lt;Username>" ein.

Falsch ! Bei SQL-Auth. als Username nur 'sa' angeben, ohne die Apostophzeichen.

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

S
Sareth Themenstarter:in
15 Beiträge seit 2007
vor 11 Jahren

Vielen Dank!
Ich glaube es hat funktioniert. Beim Verbinden kommt zumindest keine Fehlermeldung mehr. Und da noch keine Daten in der DB sind kommt bei den Abfragen natürlich noch nichts zurück 😉 Aber ich denke mal es würden wieder Fehlermeldungen kommen wenn es noch ein Problem mit der Verbindung gäbe.

Vielen Dank an alle für die Hilfe 😃