¿Cómo especificar un número de puerto en la cadena de conexión de SQL Server?

139

Yo uso la siguiente cadena de conexión en SQL Server Management Studio. No se pudo conectar:

mycomputer.test.xxx.com:1234\myInstance1

Pero el siguiente está bien:

mycomputer.test.xxx.com\myInstance1

Entonces, ¿cómo especifico un número de puerto en una cadena de conexión?

smwikipedia
fuente
2
Relacionado con stackoverflow.com/q/89576
binki

Respuestas:

260

Use una coma para especificar un número de puerto con SQL Server:

mycomputer.test.xxx.com,1234

No es necesario especificar un nombre de instancia al especificar el puerto.

Muchos más ejemplos en http://www.connectionstrings.com/ . Me ha salvado algunas veces.

Michael Petrotta
fuente
66
Cada instancia debe estar en un puerto separado, por lo que port = instancia en el servidor SQL. Sin embargo, nunca supe este "puerto" hasta ahora, gracias.
Daniel Williams
1
@Daniel: sí, debe especificar el puerto o la instancia.
Michael Petrotta
8
Nota: el nombre de la instancia se ignora cuando se especifica el puerto. Entonces "mycomputer.test.xxx.com \ AnyOldRubbish, 1234" todavía funciona.
gbn
69
Perdí casi todo un día tratando de resolver esto. Alguien en Microsoft debería recibir un disparo por esto. No solo se encargan de crear una convención completamente nueva para delimitar una dirección de puerto (no solo pueden usar dos puntos como el resto del mundo) sino que no pueden molestarse en poner una prueba en SQL Server Management Studio para obtener algún tipo de pista sobre lo que está sucediendo.
PrgTrdr
1
¿Cómo funciona esto si la instancia predeterminada (MSSQLSERVER) no se ejecuta en 1433?
Mark Richman
12

Para JDBC, el formato adecuado es ligeramente diferente y de la siguiente manera:

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

Tenga en cuenta los dos puntos en lugar de la coma.

Shane
fuente
1
He pasado de C # a Java, y esta respuesta me salva. De nuevo.
smwikipedia
1
Impresionante, me alegro de que haya ayudado. No es exactamente una documentación intuitiva en Java para la cadena de conexión JDBC. Tampoco estoy seguro de por qué es diferente, lo cual es molesto.
Shane
1

La cadena de conexión SQL correcta para SQL con el puerto especificado es usar una coma entre la dirección IP y el número de puerto como el siguiente patrón: xxx.xxx.xxx.xxx, aaaa

David Thang
fuente
-2

En el nombre del servidor, puede agregar el número de puerto como este

Server="servername:XXXXX"

Reemplace XXXXX con su número de puerto.

Su cadena de conexión se parecería a la siguiente

<connectionStrings>
    <add name="ConnectionStringSQL" 
         connectionString="server=servername:XXXXX;database=databasename;uid=XXX;pwd=XXXXXXX"
         providerName="System.Data.SqlClient" />
</connectionStrings>
GMB
fuente
44
C # usa una coma entre el nombre del servidor y el número de puerto, no dos puntos.
Dymas