Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 del 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 el cadena de conexión.
Pasos para reproducir el comportamiento
Inicie Visual Studio .NET.
Cree un proyecto de aplicación de consola .NET de Visual C#.
Asegúrese de que el proyecto contiene una referencia al
System.Data
espacio de nombres y agregue una referencia a este espacio de nombres si no lo hace.Use la instrucción using en los
System
espacios de nombres ,System.Data
,System.Data.SqlClient
para 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
Main
de 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 ID
tiene 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
sConnectionString
cadena según corresponda para su entorno.Guarda el proyecto.
En el menú Depurar , haga clic en Inicio y ejecute el proyecto para conectarse a la base de datos.