Jump to content

C# Webservice kann nicht zu SQL Datenbank verbinden


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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

Link zu diesem Kommentar

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 von Klimmbimm
Link zu diesem Kommentar
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 )

Link zu diesem Kommentar
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?

Link zu diesem Kommentar
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.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

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...