连接字符串中的"服务器"与"数据源"

naw*_*fal 97 sql-server connection-string sqldatasource localdb

我是SqlServer的新手,现在我已SqlLocalDb安装在本地工作.很好,但我通常可以看到两个连接字符串,两者都有效:

Data Source=(localdb)\v11.0;Integrated Security=true;
Run Code Online (Sandbox Code Playgroud)

Server=(localdb)\v11.0;Integrated Security=true;
Run Code Online (Sandbox Code Playgroud)

这两者之间究竟有什么区别?

Dam*_*ver 97

有关所有连接字符串关键字的完整列表,包括完全同义的关键字,请参阅SqlConnection.ConnectionString文档:

这些完全相同:

  • 数据源
  • 服务器
  • 地址
  • 地址
  • 网络地址

  • 知道这一点可能很有用,如果由于某种原因您的连接字符串包含多个这些关键字(并且地址值冲突),则使用 ***last*** 项;先前的值将被忽略。例如,给定连接字符串“Server=192.168.2.2;Data Source=localhost”,客户端将遵循“localhost”值并忽略“192...”值。 (8认同)
  • 请问一个问题,为什么Microsoft创建了等效项...?(除了让我们感到困惑以外:-)) (2认同)

Exe*_*boa 17

...服务器和数据源之间没有区别,因为它们代表SQL Server的相同之处:SQL Server实例的全名,语法为"MyComputerName\MyShortInstanceName",可能包括SQL Server实例使用的端口通信.

参考:http://social.msdn.microsoft.com/Forums/en/sqldataaccess/thread/7e3cd9b2-4eed-4103-a07a-5ca2cd33bd21


Ode*_*ded 10

它们是同义词 - 您可以使用其中任何一个.

那就是 - 就框架而言,它们是相同的.


Kon*_*ten 5

我最喜欢的设置是不包含任何空格的设置。在最简单的形式中,必须提供四个值 - URL、容器、用户和凭据。

  • 服务器
  • 数据库
  • 用户界面
  • 密码

所以一个连接字符串看起来像这样。

server=stuffy.databases.net;database=stuffy;uid=konrad;pwd=Abc123(!);