谁能告诉我以下连接字符串之间的有效区别:

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

我相信两者实际上是相同的。指定“网络库= DBMSSOCN”使用TCPIP进行显式连接,并为服务器值加上TCP前缀就可以做到这一点。

请告诉我在web.config中指定这些设置是否有任何区别或对性能的影响。

最佳答案

两种选择之间的区别是:

指定协议(protocol)

通过使用任一

多协议(protocol)= rpc

共享内存= lpc

NWlink IPX/SPX = spx

榕树藤=葡萄藤

Apple Talk = adsp

TCP = TCP

这是推荐的方法。我也觉得它更安全,因为DLL名称比协议(protocol)名称更容易更改。

它还允许您更改端口号,而不是通过使用SQL Server客户端网络实用程序全面配置它。

监视没有dll扩展名的库

指定该库将使用与不带.dll扩展名的实际网络DLL库文件相同的名称。

例子:

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

命名管道:C:\WINDOWS\system32\DBNMPNTW.dll

多协议(protocol)(RPC):C:\WINDOWS\system32\DBMSRPCN.dll

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

AppleTalk:C:\WINDOWS\system32\DBMSADSN.dll

榕树VINES:C:\WINDOWS\system32\DBMSVINN.dll

当您要编写自己的网络库时,这将是最好的方法。
请参阅SQL Server客户端网络实用程序。

性能的折衷是微小的,并不引人注目。最好遵循标准并在web.config中对其进行配置,因为其他开发人员将知道在哪里查找连接设置。类似于在Java中建立数据源连接。

10-07 19:27
查看更多