Comment spécifier un numéro de port dans la chaîne de connexion SQL Server?


139

J'utilise la chaîne de connexion suivante dans SQL Server Management Studio. Il n'a pas réussi à se connecter:

mycomputer.test.xxx.com:1234\myInstance1

Mais le suivant est ok:

mycomputer.test.xxx.com\myInstance1

Alors, comment spécifier un numéro de port dans une chaîne de connexion?


Réponses:


260

Utilisez une virgule pour spécifier un numéro de port avec SQL Server:

mycomputer.test.xxx.com,1234

Il n'est pas nécessaire de spécifier un nom d'instance lors de la spécification du port.

Beaucoup plus d'exemples sur http://www.connectionstrings.com/ . Cela m'a sauvé plusieurs fois.


6
Chaque instance doit être sur un port distinct, donc port = instance dans le serveur Sql. Je n'ai jamais connu ce ", port" jusqu'à maintenant, cependant - merci.
Daniel Williams

1
@Daniel: oui, vous devez spécifier le port ou l'instance.
Michael Petrotta

8
Remarque: le nom de l'instance est ignoré lorsque le port est spécifié. Donc "mycomputer.test.xxx.com \ AnyOldRubbish, 1234" fonctionne toujours.
gbn

69
J'ai juste perdu presque une journée entière à essayer de comprendre cela. Quelqu'un chez Microsoft devrait être abattu pour cela. Non seulement ils prennent sur eux de créer une toute nouvelle convention pour délimiter une adresse de port (ils ne pouvaient pas simplement utiliser un deux-points comme le reste du monde), mais ils ne pouvaient pas être dérangés de le tester en SQL Server Management Studio afin que vous ayez une sorte d'indication sur ce qui se passe.
PrgTrdr

1
Comment cela fonctionne-t-il si l'instance par défaut (MSSQLSERVER) ne fonctionne pas sur 1433?
Mark Richman

12

Pour JDBC, le format approprié est légèrement différent et comme suit:

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

Notez les deux points au lieu de la virgule.


1
Je suis passé de C # à Java, et cette réponse me sauve. Encore.
smwikipedia

1
Génial, heureux que cela ait aidé. Documentation pas exactement intuitive en Java pour la chaîne de connexion JDBC. Je ne sais pas non plus pourquoi c'est différent, ce qui est ennuyeux.
Shane

1

La chaîne de connexion SQL correcte pour SQL avec le port spécifié est d'utiliser une virgule entre l'adresse IP et le numéro de port comme le modèle suivant: xxx.xxx.xxx.xxx, yyyy


-2

Dans le nom du serveur lui-même, vous pouvez ajouter le numéro de port comme ceci

Server="servername:XXXXX"

Remplacez XXXXX par votre numéro de port.

Votre chaîne de connexion ressemblerait à celle ci-dessous

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

4
C # utilise une virgule entre le nom du serveur et le numéro de port, pas une virgule.
Dymas
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.