2016-10-18 4 views
0

So habe ich ein Problem beim Herstellen einer Verbindung zu meinem SQL-Server.SQL Server-Fehler beim Versuch, eine Verbindung herzustellen

Ich weiß 100% funktioniert und akzeptieren Verbindungen, aber aus irgendeinem Grund bekomme ich immer einen Fehler.

Ich kann den Server einfach im Server-Browser durchsuchen, und wenn ich die Datenquelle an ein Datagrid binden, kann ich auch eine Vorschau der Tabelle. Ich weiß, dass es in VS gut funktioniert, aber nicht in der Laufzeit.

Aus meinem Wissen und Erfahrung, wenn VS Verbindung mit dem Server herstellen und alle guten Sachen anzeigen kann, dann sollte es in der Lage sein, es während der Laufzeit zu tun?

Jede Hilfe und Beratung wird sehr geschätzt.

Non Doppelte Grund Der Grund, warum ich meine Frage glaube kein Duplikat ist, liegt daran, dass meine Anwendung keinen ASP oder ein MVC-app ist. Es ist eine Winforms-Anwendung. So viele der Vorschläge funktionieren nicht für mich. Ich habe jetzt 2 C# -Programme geschrieben (ein wpf und eine winform), um auf unsere SAP-Datenbank zuzugreifen, und sie funktionieren gut. Die SAP-Datenbank befindet sich auf demselben Server wie der, mit dem ich mich verbinden möchte. Ich kann den Server perfekt in SQL-Server Management Studio auf meinem Computer durchsuchen. Ich kann den Server auch im Visual Studio Server Browser einwandfrei durchsuchen. Aber wenn ich das Programm debugge, hält es mit diesem Fehler an.

Meine Verbindungscode

public string connectionString = @"Data Source=ENGSRV\SIGMANEST;Initial Catalog=SNDBase10;Persist Security Info=True;User ID=XXXXX;Password=XXXXX"; 
private void btnSearch_Click(object sender, EventArgs e) 
{ 
    SqlConnection connection = new SqlConnection(connectionString); 
    SqlCommand cmd = new SqlCommand(); 

    try 
    { 
     try 
     { 
       connection.Open(); 
       MessageBox.Show("Connected"); 
     } 
     catch (Exception ex) 
     { 
        throw; 
        //MessageBox.Show(ex.Message, "Database Error!"); 
     } 
    } 
    catch (Exception ex) 
    { 
     throw; 
     //MessageBox.Show(ex.Message, "Connection Error!"); 
    } 
} 

Fehlercode

An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in ProductionOrderQuery.exe

Additional information: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

Server Explorer Screen Shot

Table Data Rows Screen Shot

Update: So nach abo denken Ich glaube, es hat mit meiner Firewall zu tun und nichts mit dem SQL-Server oder der Firewall auf dem Server zu tun. Hier ist, warum, Meine VB.Net-Anwendung, die erfolgreich eine Verbindung mit dem SQL-Server herstellen kann, ist keine eigenständige Anwendung. Es ist ein Plugin für eine CAD-Software namens Rhinocreos 5. Alle unsere CAD-Designer haben 0 Probleme beim Ziehen von Daten vom SQL Server innerhalb von Rhino ... Visual Studio kann sich mit 0 Problemen im Server Explorer verbinden ... Was mich jetzt verlässt glaube, dass die Anwendung (Plugin), ist Piggy-Backing einer Firewall-Regel Rhinocreos 5 während seiner Installation gemacht. Ändere ich die Verbindungszeichenfolge zu der, die ich hier gepostet habe, verbindet sie sich perfekt. Aber es wird die SQL-Server-Instanz in meiner eigenständigen Anwendung nicht finden.

Das heißt, ich denke, ich muss erforschen, wie mein Programm zu den Clients Firewall-Regeln promatisch hinzufügen, um auf das Netzwerk zuzugreifen.

Danke an alle, die mir geholfen haben, dies zu lösen. Wenn jemand Tipps oder Hinweise darauf hat, mein Programm über Firewalls auf jedem Client zuzulassen, auf dem es installiert ist, lassen Sie es mich wissen.

+1

Firewall auf Ihrem Entwicklungs-PC blockiert Ihre App, aber keine bekannte App wie Visual Studio? – Equalsk

+0

Vielleicht, aber ich habe jetzt 2 Programme geschrieben, die bereits auf den SQL-Server zugreifen. Verschiedene Datenbanken, aber der gleiche Server und hatte damit kein Problem. Sie waren SAP-Datenbanken, aber immer noch auf demselben Server. –

+0

Sind Named Pipes aktiviert? –

Antwort

0

Problem war in unserem Netzwerk.

Unser IT-Typ entschied sich dafür, alle unsere Computer "Eigene Dateien" auf einem separaten Server und NICHT auf unseren eigenen Computern zu haben.

Also Visual Studio standardmäßig mein Projekt auf diesem Server und nicht auf meinem eigenen Computer gespeichert. Dies verursachte die Blockierung des SQL Server.

Ich löste das, indem ich einfach mein Projekt in meinen aktuellen Dokumentenordner auf meinem Computer bewegte.

Vielen Dank für die Hilfe und Hinweise!

+0

zu sehen, die Ihnen viele Probleme geben wird, andere als SQL-Verbindungen –

+1

Ich weiß ... es wird zu einem massiven Schmerz. Unser IT-Typ ist ein Kind, das von der Verpackung weggebracht wurde, lol .... wenn das irgendwas sagt. –

Verwandte Themen