"Server" vs "Datenquelle" in der Verbindungszeichenfolge


112

Ich bin neu bei SqlServer und habe es gerade SqlLocalDbinstalliert, um lokal zu arbeiten. Gut, aber ich kann normalerweise zwei Verbindungszeichenfolgen sehen und beide funktionieren:

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

und

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

Welchen genauen Unterschied gibt es zwischen den beiden?


1
Verwandte Schlüsselwörter für Server, Datenbank, Benutzername, Passwort sind in dieser Antwort aufgeführt: stackoverflow.com/a/15529085/661933
nawfal

Antworten:


114

Die vollständige Liste aller Schlüsselwörter für Verbindungszeichenfolgen, einschließlich derjenigen, die vollständig synonym sind, finden Sie in der SqlConnection.ConnectionStringDokumentation :

Diese sind alle völlig gleichwertig:

  • Datenquelle
  • Server
  • Adresse
  • Addr
  • Netzwerkadresse

2
Wirft die Frage auf, warum Microsoft Äquivalente erstellt hat ...? (außer um uns zu verwirren :-))
bytedev

1
@bytedev - historischer Zusammenfluss, glaube ich. Die meisten dieser Namen wurden ursprünglich in anderen, älteren "Standards" für DB-Verbindungen verwendet. Wenn Sie ADO.Net erstellen, können Sie, solange es keine widersprüchlichen Verwendungen gibt, so viele gängige verwenden, wie in älteren Standards vorhanden sind, um den Portierungscode zu vereinfachen.
Damien_The_Unbeliever

@Damien_The_Unbeliever Was ist Zusammenfluss ? Ich habe es gegoogelt, aber viele atlassische Sachen bekommen (und die, die ich kenne). Aber was bedeutet das Wort? Ich versuchte "übersetzen: Zusammenfluss", bekam aber nada ...
Konrad Viltersten

Es kann hilfreich sein zu wissen, dass das letzte Element verwendet wird , wenn Ihre Verbindungszeichenfolge aus irgendeinem Grund mehr als eines dieser Schlüsselwörter enthält (und der Adresswertkonflikt besteht) . Die vorherigen Werte werden ignoriert. Wenn also beispielsweise die Verbindungszeichenfolge angegeben wird, erkennt Server=192.168.2.2;Data Source=localhostder Client den localhostWert und ignoriert den 192...Wert.
Brian Lacy


11

Sie sind synonym - Sie können beide verwenden.

Das heißt - was den Rahmen betrifft, sind sie gleich.


Ich habe nach dem Grund für den Bereich gleichwertiger Schlüsselwörter in den Verbindungszeichenfolgen gesucht . Bisher habe ich keine gute Erklärung gefunden. Ich gehe davon aus, dass dies auf historische Gründe zurückzuführen ist und Benutzer aus verschiedenen "Welten" zusammenkommen. Gibt es einen anderen Grund?
DonkeyBanana

0

Mein Lieblings-Setup ist eines, das keine Leerzeichen enthält. In der einfachsten Form müssen vier Werte angegeben werden - die URL, der Container, der Benutzer und der Berechtigungsnachweis.

  • Server
  • Datenbank
  • uid
  • pwd

Eine Verbindungszeichenfolge sieht also so aus.

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


Konrad, ich glaube, Downvoter haben nicht verstanden, was Sie gesagt haben. Sie meinen zum Beispiel, es sei besser "Server" als "Datenquelle", weil ein Wort keine Leerzeichen enthält. Gleiches gilt für "uid" anstelle von "user id". Ich denke, Ihre Antwort ist gültig.
Klicken Sie

@ClickOk Könnte sein, könnte sein ... Du hast es aber, also ... :)
Konrad Viltersten
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.