2009-10-07 2 views
9

Может кто-нибудь сказать мне эффективную разницу между следующими строками подключения:Разница между этими строками подключения?

<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;"> 

Я считаю, что оба фактически то же самое. Задание «Network Library = DBMSSOCN» явно подключается с использованием TCPIP и значения сервера prefixing с TCP делает то же самое.

Просьба сообщить мне, есть ли какая-либо разница или какое-либо влияние на производительность при указании этих параметров в web.config.

ответ

11

Разница между этими двумя вариантами:

Указание протокола

При использовании либо,

Многопротокольная = RPC

общей памяти = LPC

NWLink IPX/SPX = spx

Banyan Vines = лозы

компании Apple Talk = ADSP

TCP = TCP

Это рекомендуемый способ. Я также чувствую, что это безопаснее, поскольку имена DLL более вероятно изменить, чем имена протоколов.

Он также позволяет вам изменять номер порта, а не настраивать его по всей доске с помощью утилиты Network Server Client Network Utility.

Specyfying библиотеки без длл расширения

Заданием библиотеки будет использовать то же имя фактического файл библиотеки DLL сети без .dll расширения.

Пример:

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

именованных каналов: C: \ WINDOWS \ system32 \ dbnmpntw.dll

Многопротокольных (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

Это будет работать лучше, если вы хотите, чтобы написать свою собственную сетевую библиотеку. Обратитесь к утилите Network Server Client Network Utility.

Компромисс между производительностью - минутный и не заметный. Лучше придерживаться стандартов и настраивать их в файле web.config, так как другие разработчики будут знать, где искать настройки соединений. Аналогично подключению источника данных в java.

3

Относительно Network Library=: прямо из 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 использует TCP/IP по умолчанию, поэтому нет необходимости указывать его. Целую статью о строке подключения можно найти here.