Come specificare un numero di porta nella stringa di connessione di SQL Server?


139

Uso la seguente stringa di connessione in SQL Server Management Studio. Impossibile connettersi:

mycomputer.test.xxx.com:1234\myInstance1

Ma il seguente è ok:

mycomputer.test.xxx.com\myInstance1

Quindi, come posso specificare un numero di porta in una stringa di connessione?


Risposte:


260

Utilizzare una virgola per specificare un numero di porta con SQL Server:

mycomputer.test.xxx.com,1234

Non è necessario specificare un nome di istanza quando si specifica la porta.

Molti altri esempi su http://www.connectionstrings.com/ . Mi ha salvato alcune volte.


6
Ogni istanza deve trovarsi su una porta separata, quindi port = instance nel server Sql. Fino ad ora non ho mai saputo questo "porto", grazie.
Daniel Williams,

1
@ Daniel: sì, è necessario specificare la porta o l'istanza.
Michael Petrotta,

8
Nota: il nome dell'istanza viene ignorato quando viene specificata la porta. Quindi "mycomputer.test.xxx.com \ AnyOldRubbish, 1234" funziona ancora.
gbn

69
Ho appena perso quasi un'intera giornata cercando di capirlo. Qualcuno di Microsoft dovrebbe essere colpito per questo. Non solo si impegnano a creare una convenzione completamente nuova per la delimitazione di un indirizzo di porta (non possono semplicemente usare i due punti come il resto del mondo), ma non possono essere disturbati a testarlo in SQL Server Management Studio in modo da ottenere una sorta di suggerimento su cosa sta succedendo.
PrgTrdr,

1
Come funziona se l'istanza predefinita (MSSQLSERVER) non è in esecuzione su 1433?
Mark Richman,

12

Per JDBC il formato corretto è leggermente diverso e come segue:

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

Nota i due punti anziché la virgola.


1
Sono passato da C # a Java e questa risposta mi salva. Ancora.
smwikipedia,

1
Fantastico, felice che abbia aiutato. Documentazione non esattamente intuitiva in Java per la stringa di connessione JDBC. Non so perché sia ​​diverso, il che è fastidioso.
Shane,

1

La stringa di connessione SQL corretta per SQL con la porta specificata è usare la virgola tra l'indirizzo IP e il numero di porta come il seguente modello: xxx.xxx.xxx.xxx, yyyy


-2

Nel nome del server stesso è possibile aggiungere il numero di porta in questo modo

Server="servername:XXXXX"

Sostituisci XXXXX con il tuo numero di porta.

La tua stringa di connessione sarebbe simile a quella qui sotto

<connectionStrings>
    <add name="ConnectionStringSQL" 
         connectionString="server=servername:XXXXX;database=databasename;uid=XXX;pwd=XXXXXXX"
         providerName="System.Data.SqlClient" />
</connectionStrings>

4
C # usa una virgola tra il nomeserver e il numero di porta, non i due punti.
Dymas,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.