Jak określić numer portu w ciągu połączenia programu SQL Server?

139

Używam następujących parametrów połączenia w SQL Server Management Studio. Nie udało się połączyć:

mycomputer.test.xxx.com:1234\myInstance1

Ale następujący jest w porządku:

mycomputer.test.xxx.com\myInstance1

Jak więc określić numer portu w ciągu połączenia?

smwikipedia
źródło
2
Związane ze stackoverflow.com/q/89576
binki

Odpowiedzi:

260

Użyj przecinka, aby określić numer portu w programie SQL Server:

mycomputer.test.xxx.com,1234

Podczas określania portu nie jest konieczne określanie nazwy instancji.

Dużo więcej przykładów na http://www.connectionstrings.com/ . Kilka razy mnie to uratowało.

Michael Petrotta
źródło
6
Każde wystąpienie musi znajdować się na osobnym porcie, więc port = wystąpienie na serwerze Sql. Jednak nigdy nie znałam tego „portu” aż do teraz - dziękuję.
Daniel Williams,
1
@Daniel: tak, musisz określić port lub instancję.
Michael Petrotta,
8
Uwaga: nazwa instancji jest ignorowana, gdy określony jest port. Tak więc „mycomputer.test.xxx.com \ AnyOldRubbish, 1234” nadal działa.
gbn
69
Po prostu zmarnowałem prawie cały dzień, próbując to rozgryźć. Ktoś w firmie Microsoft powinien zostać za to zastrzelony. Nie tylko podejmują się stworzenia zupełnie nowej konwencji ograniczania adresu portu (nie mogli po prostu użyć dwukropka, jak reszta świata), ale nie zawracali sobie głowy testowaniem tego w SQL Server Management Studio, aby uzyskać wskazówkę o tym, co się dzieje.
PrgTrdr
1
Jak to działa, jeśli domyślne wystąpienie (MSSQLSERVER) nie działa na 1433?
Mark Richman
12

W przypadku JDBC właściwy format jest nieco inny i wygląda następująco:

jdbc:microsoft:sqlserver://mycomputer.test.xxx.com:49843

Zwróć uwagę na dwukropek zamiast przecinka.

Shane
źródło
1
Przeszedłem z C # na Javę i ta odpowiedź mnie ratuje. Jeszcze raz.
smwikipedia
1
Super, cieszę się, że pomogło. Niezupełnie intuicyjna dokumentacja w języku Java dotycząca parametrów połączenia JDBC. Nie wiem też, dlaczego jest inaczej, co jest denerwujące.
Shane,
1

Prawidłowy ciąg połączenia SQL dla SQL z określeniem portu to przecinek między adresem IP a numerem portu, jak na poniższym wzorcu: xxx.xxx.xxx.xxx, yyyy

David Thang
źródło
-2

W samej nazwie serwera możesz dodać numer portu w ten sposób

Server="servername:XXXXX"

Zastąp XXXXX swoim numerem portu.

Twoje parametry połączenia wyglądałyby podobnie do poniższego

<connectionStrings>
    <add name="ConnectionStringSQL" 
         connectionString="server=servername:XXXXX;database=databasename;uid=XXX;pwd=XXXXXXX"
         providerName="System.Data.SqlClient" />
</connectionStrings>
GMB
źródło
4
C # używa przecinka między nazwą serwera a numerem portu, a nie dwukropkiem.
Dymas