„Serwer” a „Źródło danych” w parametrach połączenia


112

Jestem nowy w SqlServer, w tej chwili mam SqlLocalDbzainstalowany do pracy lokalnie. Dobrze, ale zwykle widzę dwa parametry połączenia i oba działają:

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

i

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

Jaka dokładnie jest różnica między tymi dwoma?


1
powiązane słowa kluczowe dla serwera, db, nazwa użytkownika i hasło są wymienione w tej odpowiedzi: stackoverflow.com/a/15529085/661933
nawfal

Odpowiedzi:


114

Pełną listę wszystkich słów kluczowych parametrów połączenia, w tym tych, które są całkowicie synonimami, można znaleźć w SqlConnection.ConnectionStringdokumentacji :

To wszystko jest całkowicie równoważne:

  • Źródło danych
  • serwer
  • Adres
  • Addr
  • Adres sieciowy

2
Zaczyna się pytanie, dlaczego Microsoft stworzył odpowiedniki ...? (z wyjątkiem tego, aby nas zmylić :-))
bytedev

1
@bytedev - jak sądzę, historyczne zbieżność. Większość z tych nazw była używana w innych, starszych „standardach” połączeń DB. Podczas budowania ADO.Net, o ile nie ma sprzecznych zastosowań, równie dobrze możesz pozwolić na tak wiele typowych, jakie istnieją w starszych standardach, aby ułatwić przenoszenie kodu.
Damien_The_Unbeliever

@Damien_The_Unbeliever Co to jest konfluencja ? Wyszukałem w Google, ale mam dużo rzeczy z Atlassian (i ten, który znam). Ale jakie jest znaczenie tego słowa? Próbowałem "translate: confluence", ale nic mi nie wyszło ...
Konrad Viltersten

Warto wiedzieć, że jeśli z jakiegoś powodu ciąg połączenia zawiera więcej niż jedno z tych słów kluczowych (i konflikt wartości adresu), używany jest ostatni element; poprzednie wartości są ignorowane. Na przykład, biorąc pod uwagę parametry połączenia, Server=192.168.2.2;Data Source=localhostklient uzna localhostwartość i zignoruje ją 192....
Brian Lacy


11

Są synonimami - możesz użyć dowolnego.

To znaczy - jeśli chodzi o ramy, są one takie same.


Przeszukuję Googlearching z powodu zakresu równoważnych słów kluczowych w ciągach połączeń. Jak dotąd nie znalazłem dobrego wyjaśnienia. Zakładam, że dzieje się tak z powodów historycznych i spotykają się użytkownicy z różnych „światów”. Czy jest inny powód?
DonkeyBanana

0

Moja ulubiona konfiguracja to taka, która nie zawiera żadnych spacji. W najprostszej formie należy podać cztery wartości - adres URL, kontener, użytkownika i dane uwierzytelniające.

  • serwer
  • Baza danych
  • uid
  • pwd

Tak więc parametry połączenia wyglądają następująco.

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


Konrad, myślę, że ci, którzy przegrywają, nie zrozumieli tego, co powiedziałeś. Masz na myśli, na przykład, jego lepszy „serwer” niż „źródło danych”, ponieważ jedno słowo nie zawiera spacji. To samo dotyczy „uid” zamiast „user id”. Myślę, że twoja odpowiedź jest ważna.
Kliknij OK

@ClickOk Może, może być ... Masz to, więc ... :)
Konrad Viltersten
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.