2013-03-13 15 views
8

Mam problem z połączeniem z wystąpieniem programu SQL Server 2012 działającym w systemie Windows Server 2012. Mam aplikację formularzy Windows .NET 4.5 zainstalowaną na komputer kliencki z systemem Windows 7. błąd pojawia to:. Aplikacja aplikacji formularzy 4.5 do programu SQL Server 2012 kończy się niepowodzeniem: dostawca protokołu SSL, błąd: 0

A connection was successfully established with the server, but then an error 
occurred during the pre-login handshake. (provider: SSL Provider, error: 0 - 
The wait operation timed out.) 

Moje ciąg połączenia wygląda następująco:

server=SERVERNAME;database=DATABASENAME;User Id=someuser;password=somepassword;Timeout=60;app=LabelMaker 

Próbowałem łączenia się z SQL Server z komputera klienckiego za pomocą QueryExpress i że pracował! Moja aplikacja jest 64-bitowa, jeśli tylko to pomoże. Sprawdziłem każde ustawienie, jakie mogę wymyślić w SQL Server. W protokołach nie są szyfrowane żadne siły (pamięć współdzielona i tcp/ip), zapora domeny jest otwarta na serwerze. Próbowałem różnych ciągów połączenia z różnymi rodzajami niespotykanych parametrów, zawsze takim samym wynikiem, niepowodzeniem.

Naprawdę nie mam pojęcia, dlaczego działa z QueryExpress? Moja aplikacja działa po połączeniu ze zdalną instancją SQL SERVER Express na innej maszynie, działa również po uruchomieniu jej na komputerze z programem SQL Server 2012.

Próbowałem również połączyć się z serwerem z komputera klienta z LinqPad i jest to również bardzo dziwne, z nową wersją opartą na net4/4.5 (Wersja: 4.43.06), ale kiedy używam starego wersja Linqpad (2.x) oparta na net3.5 działa!

Wydaje się, Panda Security jest przyczyną problemu, wpadłem

netsh winsock show catalog 

i znalazłem kilka wpisów panda, ja wtedy zrobiłem reset

netsh winsock reset 

teraz moja aplikacja działa poprawnie, to wtedy zrestartowałem komputer, ponownie uruchomiłem polecenie katalogu, wpisy z pandy powróciły, a moja aplikacja ma ten sam problem co wcześniej.

Oto wpisy Panda w katalogu Winsock: https://gist.github.com/pellehenriksson/5159883

Wszelkie pomysły i sugestie są mile widziane.

UPDATE

Panda Security v5 jest przyczyną tego problemu, zostało to potwierdzone przez wsparcie Panda. Podstawową przyczynę problemu wyjaśnia Alex poniżej. Klient dokona aktualizacji do wersji 6 Panda Security, testuję ponownie po aktualizacji.

ZAKOŃCZENIE Przeprowadzka do Panda Security v6.0 rozwiązała ten problem.

+0

Wydaje się, że problem dotyczy zapory. Przeczytaj następujący temat: [Skonfiguruj Zaporę systemu Windows, aby umożliwić dostęp do programu SQL Server] (http://technet.microsoft.com/en-us/library/cc646023.aspx). Czy aplikacja łączy się z Database Engine/Analysis Services/Reporting? –

+0

Jestem prawie pewien, że to nie jest problem z firewallem, jestem w stanie połączyć się z klientem napisanym w .NET 2.0. Podczas usuwania Panda LSP działa również na .NET 4.5. – Pelle

+0

Czy możesz również dodać ciąg połączenia? –

Odpowiedz

6

Wydaje się, że jest to problem inny niż Microsoft: Visual Studio 11 beta installation disabled my abillity to connect remote MS SQL Server but not local databases.

Bilet został zamknięty jako zewnętrzny.

Jedyny dostępny w tej chwili na Microsoft Connect obejście jest:

Posted by Lars Joakim Nilsson on 5/4/2012 at 5:03 AM

My machine had this problem. The work around for me was to remove non-IFS LSP installed Winsock Catalog Provider. Se http://support.microsoft.com/kb/2568167 /Lars Nilsson

SetFileCompletionNotificationModes API causes an IO completion port not work correctly with a non-IFS LSP installed ogniwo daje rozdzielczość:

Not specifying the FILE_SKIP_COMPLETION_PORT_ON_SUCCESS flag or removing any non-IFS Winsock LSPs installed. Also moving from a non-IFS LSP to Windows Filter Platform (WFP) can resolve this issue.

tak, to należy usunąć Panda Security lub, alternatywnie, możesz spróbować wykonać polecenie netsh winsock reset jako polecenie wstępnej kompilacji (chociaż nie jestem pewien, czy jest to skuteczne bez ponownego uruchomienia komputera) , które pozwoliłoby ci rozwinąć/zdebugować twoją aplikację.

[UPDATE]

Więcej informacji na temat kompatybilności aplikacji podany jest tutaj: Application Compatibility in the .NET Framework 4.5:

Data

SQLClient

Feature

Ability to connect to a SQL Server database from managed code that runs under the .NET Framework 4.5.

Change

The existing synchronous API code path was modified to add asynchronous support.

Impact

The presence of non-IFS Winsock Base Service Providers (BSPs) or Layered Service Providers (LSPs) may interfere with the ability to connect to SQL Server. For more information, see SetFileCompletionNotificationModes API causes an IO completion port not work correctly with a non-IFS LSP installed on the Microsoft Support website.

+1

Faktycznie wykonanie resetu działa tak długo, jak nie uruchomię ponownie komputera. =) Problem nie występuje na moim komputerze. Jest to problem na komputerze klienckim klienta. Myślę, że badanie Panda Security to kolejny krok. Dzięki za pomoc. – Pelle

2

Nienawidzę tego mówić, ale ponowne uruchomienie programu Visual Studio i mojego Microsoft SQL Server Management Studio rozwiązać ten problem.

+0

To nie ma sensu, ale Twoje rozwiązanie zadziałało !!!! –

+0

jak SSMS może spowodować, że błąd jest kłopotliwy, ale działa! –