2009-10-07 18 views
9

Czy ktoś może mi powiedzieć skuteczną różnicą między strunami gra:Różnica między tymi ciągami połączenia?

<add key="ConnectionString" value="server=tcp:192.168.0.12\Sqlserver2005;database=;user id=sa;password=;"> 



<add key="ConnectionString" value="server=192.168.0.12\Sqlserver2005;database=;user id=sa;password=;Network Library=DBMSSOCN;"> 

wierzę oba są faktycznie takie same. Określenie "Biblioteka sieciowa = DBMSSOCN" jawnie łączy się za pomocą TCPIP, a wartość prefiksu serwera z TCP robi to samo.

Proszę mi powiedzieć, czy istnieje jakakolwiek różnica lub jakikolwiek wpływ na wydajność określania tych ustawień w pliku web.config.

Odpowiedz

11

Różnica między dwóch opcji:

Określenie protokołu

za pomocą jednej,

Multiprotocol = RPC

wspólna pamięć = LPC

NwLink IPX/SPX = spx

Banyan VINES = winorośl

AppleTalk = ADSP

TCP = tcp

Jest to zalecany sposób. Czuję też, że jest bezpieczniejszy, ponieważ nazwy DLL są bardziej prawdopodobne niż nazwy protokołów.

Umożliwia także zmianę numeru portu, zamiast konfigurowania go na całej płycie za pomocą programu SQL Server Client Network Utility.

Specyfying Bibliotekę bez dll przedłużenie

Określanie biblioteki będą używać tej samej nazwy jako rzeczywistego pliku biblioteki DLL sieć bez rozszerzenia .dll.

przykład:

TCP/IP, C: \ WINDOWS \ system32 \ Dbmssocn.dll

nazwanych Rury: C: \ WINDOWS \ system32 \ DBNMPNTW.dll

Multiprotocol (RPC) C: \ WINDOWS \ system32 \ DBMSRPCN.dll

NWLink IPX/SPX C: \ WINDOWS \ system32 \ DBMSSPXN.dll

AppleTalk C: \ WINDOWS \ system32 \ DBMSADSN.dll

Banyan VINES: C: \ WINDOWS \ system32 \ DBMSVINN.dll

To działa najlepiej, gdy chcesz napisać własną bibliotekę sieciową. Zobacz SQL Server Client Network Utility.

Kompromis dotyczący wydajności jest niewielki i niezauważalny. Najlepiej jest trzymać się standardów i mieć go skonfigurowanego w web.config, ponieważ inni programiści będą wiedzieć, gdzie szukać ustawień połączeń. Podobne do posiadania połączenia ze źródłem danych w języku Java.

3

dotyczące Network Library=: prosto z Microsoft source:

  • DBNMPNTW - Win32 Named Pipes
  • dbmssocn - Win32 Winsock TCP/IP
  • dbmsspxn - Win32 SPX/IPX
  • dbmsvinn - Win32 Banyan Vines
  • dbmsrpcn - Win32 Multi-Protocol (Windows RPC)

SQL Server używa protokołu TCP/IP domyślnie, więc nie ma potrzeby, aby go określić. Cały artykuł na temat ciągu połączenia można znaleźć pod adresem here.

Powiązane problemy