Foros del Web » Programación para mayores de 30 ;) » .NET »

No logro conectar mi proyecto a la base de datos!

Estas en el tema de No logro conectar mi proyecto a la base de datos! en el foro de .NET en Foros del Web. Hola a todos, soy nuevo en ASP.NET y he estado tratando de hacer un pequeño proyecto en donde tengo que exportar registros de una base ...
  #1 (permalink)  
Antiguo 18/02/2014, 15:15
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 13 años, 11 meses
Puntos: 6
Exclamación No logro conectar mi proyecto a la base de datos!

Hola a todos, soy nuevo en ASP.NET y he estado tratando de hacer un pequeño proyecto en donde tengo que exportar registros de una base de datos a excel a través de asp.net.

el problema que tengo es que no me conecta correctamente a mi base de datos, o algo pasa...

en realidad en el explorador de servidores logro conectarme, también logro conectarme a través de una consulta sql y me muestran resultados como debe ser. el problema que al configurar el Web.config se me cae la aplicación con el siguientes mensajes de errores:

error en el navegador:
Código error:
Ver original
  1. Server Error in '/' Application.
  2.  
  3. No se encuentra el nombre de red especificado
  4.  
  5. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
  6.  
  7. Exception Details: System.ComponentModel.Win32Exception: No se encuentra el nombre de red especificado


Error en el Visual Studio (2012)
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

después de cerrar el dialogo que me aparece me dirige a la linea de código: conn.Open();

la verdad que no sé realmente en que estoy fallando ya que este código no es mio lo saque de un tutorial y no logro dar del porqué se me cae la aplicación...


a continuación dejo el código que me apunta el error mencionado:
Código c#:
Ver original
  1. protected void BindGrid()
  2.     {
  3.         DataSet ds = new DataSet();
  4.        
  5.         conn.Open();
  6.         string cmdstr = "Select * from EmployeeDetails";
  7.         SqlCommand cmd = new SqlCommand(cmdstr, conn);
  8.         SqlDataAdapter adp = new SqlDataAdapter(cmd);
  9.         adp.Fill(ds);
  10.         gvDetails.DataSource = ds;
  11.         gvDetails.DataBind();
  12.         conn.Close();
  13.     }

También dejo la conexión que estoy haciendo en el Web.config:

Código XML:
Ver original
  1. <connectionStrings>
  2.      <add name="Enigmax"  connectionString=  "server=WIN-5GBFGUKL8N7\SQLEXPRESS;database=Enigma; uid=gonzalo;pwd=123456" />
  3.   </connectionStrings>

Me pregunto que estoy haciendo mal o qué me falta por hacer para tener bien conectada mi aplicación???

Desde ya muchas gracias por su tiempo!
Estaré atento a cualquier comentario,
Saludos!
  #2 (permalink)  
Antiguo 18/02/2014, 17:26
Avatar de alan_69niupi  
Fecha de Ingreso: junio-2011
Mensajes: 200
Antigüedad: 12 años, 11 meses
Puntos: 17
Respuesta: No logro conectar mi proyecto a la base de datos!

mira mi conexión la tengo así

Cita:
<remove name="LocalSqlServer" />
<remove name="ApplicationService" />
<remove name="DB" />
<add name="DB" providerName="System.Data.SqlClient" connectionString= "ruta" />
</connectionStrings>
Cita:
providerName="System.Data.SqlClient"

espero te sirva
saludos!!!
  #3 (permalink)  
Antiguo 19/02/2014, 08:12
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 13 años, 11 meses
Puntos: 6
Pregunta Respuesta: No logro conectar mi proyecto a la base de datos!

Cita:
Iniciado por alan_69niupi Ver Mensaje
mira mi conexión la tengo así






espero te sirva
saludos!!!
gracias!, pero no me queda claro dónde pego el código del providerName="System.Data.SqlClient"
?
por cuál linea lo reemplazo? ya que si lo pego en el código donde esta el 'conn.OPen()' me dice que "El nombre 'providerName' no existe en el contexto actual " .
gracias

Última edición por ras_chalo; 19/02/2014 a las 08:20
  #4 (permalink)  
Antiguo 19/02/2014, 09:18
Avatar de alan_69niupi  
Fecha de Ingreso: junio-2011
Mensajes: 200
Antigüedad: 12 años, 11 meses
Puntos: 17
Respuesta: No logro conectar mi proyecto a la base de datos!

mira

esta es tu conexión
Cita:
<connectionStrings>
<add name="Enigmax" connectionString= "server=WIN-5GBFGUKL8N7\SQLEXPRESS;database=Enigma; uid=gonzalo;pwd=123456" />
</connectionStrings>

así debe de quedar
Cita:
<connectionStrings>
<add name="Enigmax" providerName="System.Data.SqlClient" connectionString= "server=WIN-5GBFGUKL8N7\SQLEXPRESS;database=Enigma; uid=gonzalo;pwd=123456" />
</connectionStrings>
si te dice que no lo reconoce agrega los siguiente

<remove name="LocalSqlServer" />
<remove name="ApplicationService" />
<remove name="DB" />

de tal manera que quede así

Cita:
<remove name="LocalSqlServer" />
<remove name="ApplicationService" />
<remove name="DB" />
<connectionStrings>
<add name="Enigmax" providerName="System.Data.SqlClient" connectionString= "server=WIN-5GBFGUKL8N7\SQLEXPRESS;database=Enigma; uid=gonzalo;pwd=123456" />
</connectionStrings>


todo esto lo pones en tu archivo XML


Saludos!!!
  #5 (permalink)  
Antiguo 19/02/2014, 12:19
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 13 años, 11 meses
Puntos: 6
Respuesta: No logro conectar mi proyecto a la base de datos!

Cita:
Iniciado por alan_69niupi Ver Mensaje
mira

esta es tu conexión



así debe de quedar


si te dice que no lo reconoce agrega los siguiente

<remove name="LocalSqlServer" />
<remove name="ApplicationService" />
<remove name="DB" />

de tal manera que quede así





todo esto lo pones en tu archivo XML


Saludos!!!
sabes que hice lo que me dijiste, pero aun sigo teniendo el mismo problema con el 'conn.Open()'... que más podrá estar saliendo mal en mi proyecto??, me puecdes dar por favor alguna sugerencia?

de ante mano muchas gracias,
saludos!
  #6 (permalink)  
Antiguo 19/02/2014, 12:50
 
Fecha de Ingreso: octubre-2012
Ubicación: España
Mensajes: 30
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: No logro conectar mi proyecto a la base de datos!

Además de lo del web.config, en el método tienes conn.Open(), pero no tienes definido lo que es conn, tienes que pasarle la cadena de conexión con System.Configuration por ejemplo.

SqlConnection conn = new SqlConnection();
conn.ConnectionString=ConfigurationManager.Connect ionStrings["tucadenaconexión"].ToString();
conn.Open();
...
con.Close();

Creo que era algo así. Suerte
  #7 (permalink)  
Antiguo 19/02/2014, 13:08
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 13 años, 11 meses
Puntos: 6
Respuesta: No logro conectar mi proyecto a la base de datos!

Cita:
Iniciado por thanos Ver Mensaje
Además de lo del web.config, en el método tienes conn.Open(), pero no tienes definido lo que es conn, tienes que pasarle la cadena de conexión con System.Configuration por ejemplo.

SqlConnection conn = new SqlConnection();
conn.ConnectionString=ConfigurationManager.Connect ionStrings["tucadenaconexión"].ToString();
conn.Open();
...
con.Close();

Creo que era algo así. Suerte
gracias por la respuesta!,
claro, me faltaba postear la conexión que tengo, eso si ahora tengo la duda con esta linea:

conn.ConnectionString=ConfigurationManager.Connect ionStrings["tucadenaconexión"].ToString();

que es lo que hace?, cual es la diferencia con las lineas anteriores??

dejo mi código como lo tengo ahora:

Código C++:
Ver original
  1. SqlConnection conn = new SqlConnection("Data Source=Enigmax;Initial Catalog=Demo; Integrated Security=True");
  2.     protected void Page_Load(object sender, EventArgs e)
  3.     {
  4.         if (!IsPostBack)
  5.         {
  6.             BindGrid();
  7.         }
  8.     }

de ante mano muchas gracias,
saludos!
  #8 (permalink)  
Antiguo 20/02/2014, 02:30
 
Fecha de Ingreso: octubre-2012
Ubicación: España
Mensajes: 30
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: No logro conectar mi proyecto a la base de datos!

Buenas, yo tampoco es que sea un lumbreras en estas lides pero a ver si te pudiera aclarar algo. Cuando haces la aplicación lo suyo es que la cadena de conexión esté definida exclusivamente en el web.config y la aplicación estructurada en capas para separar la lógica del negocio de lo que sería la presentación al usuario y con esa línea lo que haces es decirle al método que cadena de conexión es la que tiene usar. Entonces dentro de tu solución tendrías varios proyectos o capas:
- Una biblioteca de clases con tus entidades
- Una biblioteca de clases para el acceso a datos que es la que va a conectarse a la bd para realizar los select y demás gestiones. Aquí es donde debes agregar la referencia a System.Configuration. Te pongo un ejemplo que usa un procedimiento almacenado dentro de una clase que llamé AccIncidencias:
Código XML:
Ver original
  1. public DataTable filtroCerradasTodasUsuario(AccIncidencias inc)
  2.         {
  3.             ///Se abre la conexión con bd y se dice que proc. almacenado usar
  4.             string rpta = "Error en la carga";
  5.             SqlConnection cn = new SqlConnection();
  6.             SqlCommand cmd = new SqlCommand();
  7.             SqlDataAdapter da = new SqlDataAdapter(cmd);
  8.             DataTable dt = new DataTable();
  9.             try
  10.             {
  11.                 ///Se abre la conexión con bd y se dice que proc. almacenado usar
  12.                 cn.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
  13.                 cn.Open();
  14.                 cmd.Connection = cn;
  15.                 cmd.CommandText = "filtroCerradasTodasUsuario";
  16.                 cmd.CommandType = CommandType.StoredProcedure;
  17.  
  18.                 ///Se definen los parámetros y tipos de datos del proc.
  19.                 SqlParameter pmNombreUsuario = new SqlParameter();
  20.                 pmNombreUsuario.ParameterName = "@NombreUsuario";
  21.                 pmNombreUsuario.SqlDbType = SqlDbType.NVarChar;
  22.                 pmNombreUsuario.Size = 256;
  23.                 pmNombreUsuario.Value = inc.NombreUsuario;
  24.                 cmd.Parameters.Add(pmNombreUsuario);
  25.  
  26.                 ///Se llena el DtaTable
  27.                 da.Fill(dt);
  28.                 //Se cierra la conexión
  29.                 cn.Close();
  30.             }
  31.             catch (Exception ex)
  32.             {
  33.                 rpta = ex.Message;
  34.             }
  35.             return dt;
  36.         }
- Otra biblioteca de clases que va hacer de intermediaria entre la presentación a usuario y el acceso a datos que siguiendo con el ejemplo en este caso tengo una clase llamada NegIncidencias que llama al método definido en el acceso a datos:
Código XML:
Ver original
  1. public static DataTable filtroCerradasTodasUsuario(string NombreUsuario)
  2.         {
  3.             AccIncidencias inc = new AccIncidencias();
  4.             inc.NombreUsuario = NombreUsuario;
  5.  
  6.             return inc.filtroCerradasTodasUsuario(inc);
  7.         }
- Y por último tendrías el proyecto web con tus formularios y el web.config.
Al proyecto web le agregas referencias a las entidades y a la capa intermedia.
A la capa intermedia e agregas referencias a las entidades y al acceso a datos.
Al acceso a datos le agregas referencias a entidades y a System.Configuration.
De esta forma desde el formulario llamas al método de la capa intermedia y este al del acceso a datos. En el web.config la cadena de conexión la tengo así:
Código XML:
Ver original
  1. <connectionStrings>
  2.     <add name="ConnectionString"
  3.         connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\SECURITYDB.mdf;User Instance=true"
  4.         providerName="System.Data.SqlClient" />
  5.   </connectionStrings>
Y en el formulario tengo un combobox que según lo que se selecciona usa el método que te he puesto u otro y lo muestra en un grid:
Código XML:
Ver original
  1. protected void ddMarca_SelectedIndexChanged(object sender, EventArgs e)
  2.         {
  3.             if (ddMarca.SelectedValue == "Mostrar Todas")
  4.             {
  5.                 grdIncAb.DataSource = NegIncidencias.filtroCerradasTodasUsuario(this.User.Identity.Name);
  6.                 grdIncAb.DataBind();
  7.             }
  8.             else
  9.             {
  10.                 grdIncAb.DataSource = NegIncidencias.filtroCerradasEquipoUsuario(this.User.Identity.Name, ddMarca.SelectedItem.Text);
  11.                 grdIncAb.DataBind();
  12.             }
  13.         }

Espero no haberte liado más todavía, ya te digo que yo soy aficionado no profesional y si quieres y se puede te paso el código de esta aplicación que hice que es bastante cutre y no creo que te cueste enterdelo viéndolo. Un saludo

Etiquetas: net, proyecto, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:47.