No puede conectarse a SQL Server en ningún puerto distinto de 1433 si usa un protocolo distinto de TCP/IP.
Este artículo le ayuda a resolver el problema que se produce cuando se usa un protocolo distinto de TCP/IP para conectarse a SQL Server en un puerto distinto de 1433.
Versión original del producto: Visual C #
Número de KB original: 307645
Síntomas
Cuando se usa un protocolo distinto de Protocolo de control de transmisión/Protocolo de Internet (TCP/IP), SqlConnection.Open se produce un error si especifica un número de puerto distinto de 1433 para conectarse a una instancia de SQL Server.
Solución
Para resolver este problema, use el protocolo TCP/IP e incluya Server=ComputerName, PortNumber en la cadena de conexión.
Pasos para reproducir el comportamiento
Inicie Visual Studio .NET.
Cree un nuevo proyecto de aplicación de consola de Visual C# .NET.
Asegúrese de que el proyecto contiene una referencia al
System.Dataespacio de nombres y agregue una referencia a este espacio de nombres si no lo hace.Use la instrucción using en los
Systemespacios de nombres ,System.Data,System.Data.SqlClientpara que no sea necesario calificar las declaraciones en esos espacios de nombres más adelante en el código.using System; using System.Data; using System.Data.SqlClient;Visual Studio crea una clase estática y un procedimiento vacío
Mainde forma predeterminada. Copie el código siguiente y péguelo en la ventana Código:Nota
Debe cambiar el
User ID<username>valor y el valor de contraseña<strong password>a los valores correctos antes de ejecutar este código. Asegúrese de queUser IDtiene los permisos adecuados para realizar esta operación en la base de datos.class Class1 { static void Main(string[] args) { string sConnectionString; sConnectionString = "User ID=<username>;Password =<strong password>;Initial Catalog=pubs;Data Source=myServer,1200"; SqlConnection objConn = new SqlConnection(sConnectionString); objConn.Open(); SqlDataAdapter daAuthors = new SqlDataAdapter("Select * From Authors", objConn); DataSet dsPubs = new DataSet("Pubs"); daAuthors.FillSchema(dsPubs, SchemaType.Source, "Authors"); daAuthors.Fill(dsPubs, "Authors"); daAuthors.MissingSchemaAction = MissingSchemaAction.AddWithKey; daAuthors.Fill(dsPubs, "Authors"); DataTable tblAuthors; tblAuthors = dsPubs.Tables["Authors"]; foreach (DataRow drCurrent in tblAuthors.Rows) { Console.WriteLine("{0} {1}", drCurrent["au_fname"].ToString(), drCurrent["au_lname"].ToString()); } Console.ReadLine(); } }Modifique la
sConnectionStringcadena según corresponda para su entorno.Guarde el proyecto.
En el menú Depurar , haga clic en Iniciar y ejecute el proyecto para conectarse a la base de datos.