Ich habe eine problematische Verbindung zu einer SQL Server 2012-Instanz, die unter Windows Server 2012 ausgeführt wird. Ich habe eine .NET 4.5 Windows Forms-Anwendung auf einem Clientcomputer mit Windows 7 installiert. Der Fehler ist folgender:
%Vor%Meine Verbindungszeichenfolge sieht folgendermaßen aus:
%Vor%Ich habe versucht, eine Verbindung zum SQL Server vom Clientcomputer aus herzustellen, indem ich QueryExpress verwende und das hat funktioniert! Meine App ist 64-Bit, wenn das hilft. Ich habe jede Einstellung überprüft, die ich mir in SQL Server vorstellen kann. In den Protokollen (Shared Memory und TCP / IP) sind keine Zwangsverschlüsselungen aktiviert, die Domänenfirewall ist auf dem Server geöffnet. Ich habe verschiedene Verbindungszeichenfolgen mit allen möglichen unerhörten Parametern ausprobiert, immer das gleiche Ergebnis, Fehler.
Ich bin wirklich verwirrt darüber, warum es mit QueryExpress funktioniert? Meine App funktioniert, wenn sie mit einer Remote-Instanz von SQL SERVER Express auf einem anderen Computer verbunden ist. Sie funktioniert auch, wenn ich sie auf dem Computer mit SQL Server 2012 ausführe.
Ich habe auch versucht, vom LinqPad mit dem Server eine Verbindung zum Server herzustellen, und das ist auch wirklich komisch, mit der neuen Version basierend auf net4 / 4.5 (Version: 4.43.06) schlägt es fehl, aber wenn ich die alte Version von Linqpad (2.x) benutze, die auf net3.5 basiert, funktioniert es!
Panda Security scheint das Problem verursacht zu haben, ich habe
ausgeführt %Vor%und ein paar Panda-Einträge gefunden, dann habe ich einen Reset durchgeführt
%Vor%Jetzt funktioniert meine Anwendung gut, ich habe dann die Maschine neu gestartet, den Katalogbefehl erneut ausgeführt, Die Panda-Einträge waren zurück und meine App hat das gleiche Problem wie zuvor.
Hier sind die Panda-Einträge im Winsock-Katalog: Ссылка
Alle Ideen und Vorschläge werden geschätzt.
AKTUALISIEREN
Panda Security v5 ist die Ursache dieses Problems, dies wurde vom Support von Panda bestätigt. Die Ursache des Problems wird unten von Alex erklärt. Der Kunde wird ein Upgrade auf v6 von Panda Security durchführen, ich werde es nach dem Upgrade erneut testen.
SCHLUSSFOLGERUNG Der Wechsel zu Panda Security v6.0 hat dieses Problem behoben.
Dies scheint ein nicht mit Microsoft zusammenhängendes Problem zu sein: Die Beta-Installation von Visual Studio 11 hat die Verbindung zu entfernten MS SQL-Servern, aber nicht zu lokalen Datenbanken deaktiviert .
Das Ticket wurde als extern geschlossen .
Die einzige derzeit verfügbare Problemumgehung für Microsoft Connect ist:
Gepostet von Lars Joakim Nilsson am 5/4/2012 um 5:03
Mein Computer hatte dieses Problem. Die Arbeit für mich bestand darin, den nicht von IFS LSP installierten Winsock Catalog Provider zu entfernen. Se Ссылка / Lars Nilsson
Die SetFileCompletionNotificationModes-API bewirkt, dass ein IO-Completion-Port nicht korrekt funktioniert, wenn ein nicht-IFS LSP installiert ist. Link gibt die Auflösung an:
Das FILE_SKIP_COMPLETION_PORT_ON_SUCCESS-Flag nicht angeben oder Entfernen von nicht installierten IFS Winsock-LSPs. Auch bewegt sich von a Nicht-IFS LSP zu Windows Filter Platform (WFP) kann dieses Problem beheben.
Sie sollten Panda Security also entfernen oder als Alternative versuchen, netsh winsock reset
als vorbereitenden Befehl auszuführen (obwohl ich mir nicht sicher bin, ob dies ohne Neustart funktioniert) , mit dem Sie Ihre Anwendung entwickeln / debuggen können.
[UPDATE]
Weitere Informationen zur Anwendungskompatibilität finden Sie hier: Anwendungskompatibilität in .NET Framework 4.5 :
Daten
SQLClient
Funktion
Möglichkeit, eine Verbindung zu einer SQL Server-Datenbank über verwalteten Code herzustellen läuft unter dem .NET Framework 4.5.
Ändern
Der vorhandene synchrone API-Codepfad wurde zum Hinzufügen geändert asynchrone Unterstützung.
Auswirkung
Das Vorhandensein von Nicht-IFS-Winsock-Basisdienstanbietern (BSPs) oder Layered Service Providers (LSPs) kann die Fähigkeit beeinträchtigen Verbindung zu SQL Server herstellen . Weitere Informationen finden Sie unter Die API SetFileCompletionNotificationModes verursacht einen IO-Completion-Port funktioniert nicht korrekt mit einem Nicht-IFS-LSP, der auf dem Microsoft installiert ist Support-Website.
Tags und Links .net-4.5 sql-server-2012 c#-5.0