"Servidor" frente a "Fuente de datos" en la cadena de conexión


112

Soy nuevo en SqlServer, ahora mismo lo he SqlLocalDbinstalado para trabajar localmente. Bien, pero puedo ver dos cadenas de conexión normalmente y ambas funcionan:

Data Source=(localdb)\v11.0;Integrated Security=true;

y

Server=(localdb)\v11.0;Integrated Security=true;

¿Qué diferencia exacta hay entre los dos?


1
palabras clave relacionadas para servidor, base de datos, nombre de usuario, contraseña se enumeran en esta respuesta: stackoverflow.com/a/15529085/661933
nawfal

Respuestas:


114

Para obtener la lista completa de todas las palabras clave de la cadena de conexión, incluidas aquellas que son completamente sinónimos, consulte la SqlConnection.ConnectionStringdocumentación :

Todos estos son completamente equivalentes:

  • Fuente de datos
  • Servidor
  • Habla a
  • Dirección
  • Dirección de red

2
Surge la pregunta, ¿por qué Microsoft ha creado equivalentes ...? (excepto para confundirnos :-))
bytedev

1
@bytedev - confluencia histórica, creo. La mayoría de estos nombres se empezaron a utilizar en otros "estándares" de conexión de bases de datos más antiguos. Al construir ADO.Net, siempre que no haya usos conflictivos, también puede permitir tantos comunes como existan en estándares anteriores, para facilitar la migración del código.
Damien_The_Unbeliever

@Damien_The_Unbeliever ¿Qué es la confluencia ? Lo busqué en Google, pero obtuve muchas cosas de Atlassian (y esa la conozco). Pero, ¿cuál es el significado de la palabra? Intenté "traducir: confluencia" pero no obtuve nada ...
Konrad Viltersten

Puede resultar útil saber que, si por alguna razón su cadena de conexión incluye más de una de estas palabras clave (y los valores de la dirección entran en conflicto), se utiliza el último elemento; los valores anteriores se ignoran. Entonces, por ejemplo, dada la cadena de conexión Server=192.168.2.2;Data Source=localhost, el cliente respetará el localhostvalor e ignorará el 192...valor.
Brian Lacy


11

Son sinónimos, puede usar cualquiera de ellos.

Es decir, en lo que respecta al marco, son iguales.


He estado buscando en Google el motivo del rango de palabras clave equivalentes en las cadenas de conexión. Hasta ahora, no he encontrado una buena explicación. Supongo que se debe a razones de historial y a la unión de usuarios de diferentes "mundos". ¿Hay alguna otra razón?
DonkeyBanana

0

Mi configuración favorita es una que no contiene espacios. En la forma más simple, uno tiene que proporcionar cuatro valores: la URL, el contenedor, el usuario y la credencial.

  • servidor
  • base de datos
  • uid
  • pwd

Entonces, una cadena de conexión se ve así.

servidor = congestionado.databases.net; base de datos = congestionado; uid = konrad; pwd = Abc123 (!);


Konrad, creo que los votantes negativos no entendieron lo que dijiste. Quiere decir, por ejemplo, que es mejor "servidor" que "fuente de datos" porque una palabra no contiene espacios. Lo mismo para "uid" en lugar de "id de usuario". Creo que tu respuesta es válida.
Haga clic en Aceptar

@ClickOk Podría ser, podría ser ... Pero lo tienes, así que ... :)
Konrad Viltersten
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.