Klimmbimm 10 Geschrieben 29. Juni 2009 Melden Teilen Geschrieben 29. Juni 2009 Hallo zusammen! Ich habe einen kleinen Webservice gebastelt, der einen Datensatz aus einer entfernten Datenbank an das aufrufende Programm liefern soll. Leider bekomme ich immer folgende Fehlermeldung: Netzwerkbezogener oder instanzspezifischer Fehler beim Herstellen einer Verbindung mit SQL Server. Der Server wurde nicht gefunden, oder auf ihn kann nicht zugegriffen werden. Überprüfen Sie, ob der Instanzname richtig ist und ob SQL Server Remoteverbindungen zulässt. (provider: Named Pipes-Provider, error: 40 - Verbindung mit SQL Server konnte nicht geöffnet werden) Mit anderen Programmen, zB dem SQL Query Browser, kann ich auf die Daten zugreifen. Um den Code, der den Fehler produziert auf ein Minimum zu reduzieren, habe ich mal folgedes Programm getippt: using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Linq; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.Xml.Linq; using System.Data.SqlClient; using System.IO; using System.Text; namespace Test_DB_Operationen { /// <summary> /// Zusammenfassungsbeschreibung für Service1 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ToolboxItem(false)] public class Service1 : System.Web.Services.WebService { // Benutzer senden [WebMethod] public string GetUsers() { DataSet ds = new DataSet(); SqlConnectionStringBuilder conBuilder = new SqlConnectionStringBuilder(); conBuilder.DataSource = "192.168.0.100"; conBuilder.InitialCatalog = "Benutzerdaten"; conBuilder.UserID = "DB_Benutzername"; conBuilder.Password = "DB_Passwort"; SqlConnection con = new SqlConnection(conBuilder.ConnectionString); try { con.Open(); } catch (Exception e) { con.Close(); return e.Message; } con.Close(); return conBuilder.ConnectionString; } } } Ausgabe: <?xml version="1.0" encoding="utf-8" ?> <string xmlns="http://tempuri.org/">Netzwerkbezogener oder instanzspezifischer Fehler beim Herstellen einer Verbindung mit SQL Server. Der Server wurde nicht gefunden, oder auf ihn kann nicht zugegriffen werden. Überprüfen Sie, ob der Instanzname richtig ist und ob SQL Server Remoteverbindungen zulässt. (provider: Named Pipes-Provider, error: 40 - Verbindung mit SQL Server konnte nicht geöffnet werden)</string> Was muss ich machen, um an die Daten in der Datenbank heranzukommen? Ich weiß leider nicht mehr weiter... Gruß, KB Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 30. Juni 2009 Melden Teilen Geschrieben 30. Juni 2009 Moin KB Also fangen wir mal ganz klein an: Auf was für einen SQL-Server versuchst du denn zuzugreifen? (Welche Version, Edition) Hast du ausser Named Pipes auch TCP/IP in der SQL Server Network Configuration freigeschaltet? Hast du eine Named Instance installiert? Gruß Zitieren Link zu diesem Kommentar
Dukel 451 Geschrieben 30. Juni 2009 Melden Teilen Geschrieben 30. Juni 2009 Geht das mit anderen Programme (SQL Query Browser) auch von dem Rechner, von dem du per c# Programm zugreifen willst? Zitieren Link zu diesem Kommentar
Klimmbimm 10 Geschrieben 2. Juli 2009 Autor Melden Teilen Geschrieben 2. Juli 2009 (bearbeitet) also die Datenbank liegt aus einem Suse 10.3 Rechner. Da läuft ein MySQL_Server in der Version 5.0.45. Soweit ich das rausfinden konnte, unterstützt dieses Datenbankmanagementsystem keine Named Pipes. Deswegen würde ich die gerne im Visual Studio ausschalten und über ein anderes Protokoll gehen (TCP/IP?). mit dem SQL Query Browser funktioniert die verbindung von dem gleichen rechner aus zur Datenbank. EDIT: anscheinend kann ich über tcp/ip gehen, indem ich dem conBuilder.DataSource = "134.130.88.5,1433" setze. leider kommt dann eine andere fehlermeldung, nämlich: Netzwerkbezogener oder instanzspezifischer Fehler beim Herstellen einer Verbindung mit SQL Server. Der Server wurde nicht gefunden, oder auf ihn kann nicht zugegriffen werden. Überprüfen Sie, ob der Instanzname richtig ist und ob SQL Server Remoteverbindungen zulässt. (provider: TCP-Provider, error: 0 - Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.) bearbeitet 2. Juli 2009 von Klimmbimm Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 2. Juli 2009 Melden Teilen Geschrieben 2. Juli 2009 Hast du einen mySQL-Connector für .NET im Boot? How to connect to MySQL 5.0 using c# and mysql connector/net! Denn das was du da verwendest ist AFAIK der Connector für einen MS SQL Server. Gruß Zitieren Link zu diesem Kommentar
Klimmbimm 10 Geschrieben 2. Juli 2009 Autor Melden Teilen Geschrieben 2. Juli 2009 Hast du einen mySQL-Connector für .NET im Boot?How to connect to MySQL 5.0 using c# and mysql connector/net! Denn das was du da verwendest ist AFAIK der Connector für einen MS SQL Server. Gruß hm, achso, davon höre ich grade zum ersten mal. also muss ich mir zuerst noch was dazu installieren? ich dachte die .NET Bibliotheken wären so schön umfangreich. Gibt es da kein "Hausmittel", dass auch MySQL-Verbindungen kann? Ich werds mal mit dem genannten mySQL-Connector testen... melde mich dann nochmal. EDIT: nehme den connector 6.0 (http://dev.mysql.com/downloads/connector/net/6.0.html ) Zitieren Link zu diesem Kommentar
Dukel 451 Geschrieben 2. Juli 2009 Melden Teilen Geschrieben 2. Juli 2009 hm, achso, davon höre ich grade zum ersten mal.also muss ich mir zuerst noch was dazu installieren? ich dachte die .NET Bibliotheken wären so schön umfangreich. Gibt es da kein "Hausmittel", dass auch MySQL-Verbindungen kann? Ich werds mal mit dem genannten mySQL-Connector testen... melde mich dann nochmal. Und du programmierst Datenbank Anwendungen? Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 2. Juli 2009 Melden Teilen Geschrieben 2. Juli 2009 Und du programmierst Datenbank Anwendungen? Irgendwann hat jeder mal angefangen. Ich find das jetzt nicht weiter verwerflich. Ganz im Gegenteil. EDIT: nehme den connector 6.0 (MySQL :: Connector/Net 6.0 ) Viel Erfolg dabei. Wenn du so nett bist, kannst du ja mal ein Feedback bezüglich Zugriffsperformance des Connectors und Stabilität posten, wenn du deine Implementierung fertig hast. Zitieren Link zu diesem Kommentar
Klimmbimm 10 Geschrieben 2. Juli 2009 Autor Melden Teilen Geschrieben 2. Juli 2009 also meine testanwendung funktioniert jetzt!!! kam mir auch relativ schnell vor: ca. 200 datensätze in ein dateset geladen und zurückgegeben -> ca. 1 oder 2 sekunden (ich schätze mal, dass die meiste zeit noch drauf ging um den browser zu öffnen - hab halt nur debuggt) Danke sehr, phoenixcp! Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.