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

C# y SQL Server

Estas en el tema de C# y SQL Server en el foro de .NET en Foros del Web. Que tal, alguien tiene un buen manual y/o tutorial que me diga como conectarme con sql server mediante c#? lo quiero hacer en una aplicacion ...
  #1 (permalink)  
Antiguo 26/03/2006, 23:39
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
C# y SQL Server

Que tal,
alguien tiene un buen manual y/o tutorial que me diga como conectarme con sql server mediante c#?

lo quiero hacer en una aplicacion de consola.
Ya que lo que mas me interesa es en base a una llave primaria de una tabla, recuperar los datos de las demas columnas de ese renglon. Esos datos tenerlo en un arreglo de strings, para luego mandarselos a otra clase que hara otras cosillas con esos datos....

Aunque no estaria mal que el manual tambien incluyera como agregar, modificar y eliminar datos....

saludos,
  #2 (permalink)  
Antiguo 27/03/2006, 10:10
Rodolfo Israel
Invitado
 
Mensajes: n/a
Puntos:
Hola amigo, en realidad hay una gran cantidad de informacion como la que tu requieres en internet, basta con poner en google ADO.NET para que tengas un mundo de esa info, te recomiendo que leas algo de ADO cuando lo hayas coprendido no solo a SQL Server te vas a poder conectar sino a MySql, Oracle o que se yo.

Si te interesan algunos libos en ingles busca en flazx.com ahi deseguro encontraras alguno(s) que te interesen.

Saludos.
  #3 (permalink)  
Antiguo 27/03/2006, 22:02
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
el problema es que ya segui varios tutoriales y no consigo resolver mi error.

Estoy utilizando SQL Server 2005 express edition con VC# 2005 Express edition. Ya me baje MS SQL S Managment studio.

Ya hize mi base de datos con una tabla, y 3 columnast y datos
y basicamente lo que hago es lo siguiente:
Código PHP:
public void Connect()
 {
         
SqlConnection conn = new SqlConnection("Data Source=MIGUEL/SQLEXPRESS;Initial Catalog=C:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/Data/Test1.mdf; Integrated Security=SSPI; timeout=15");
          try
            {

                
conn.Open();
                
Console.WriteLine("exito");
                
Console.ReadLine();
               
            }
            catch (
Exception e)
            {
                
Console.WriteLine(e.Message.ToString());                
                
Console.ReadLine();
            }            

        } 
ya probe las siguientes variaciones en mi connection string:
-cambiandole / quitandole el timeout
- poniendo solo el nombre de la base de datos (sin el path completo)
- quitandole la extension
- poniendole el user_id de mi login de windows (ya que la tengo la auntenticacion que tengo es la de windows).
- agregandole el User Instance=True

y aun asi siempre me manda el mismo error:
"An error has occured while establishing a connection to the server. When connecting to SQL Server 2005,this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.(provider:Named Pipes Provider,error:40-Could not open connection to SQL Server))"

busque en internet eso, y me encontre con esta pagina:
http://www.datamasker.com/SSE2005_NetworkCfg.htm

segui todos los pasos para configurar y permitir el acceso remoto, reinicie, comprobe que la configuracion fuera la misma, volvi a correr mi proyecto (haciendo las variacioens en mi connectionString que mencione), y aun asi no logro establecer la conexion.

Alguien tiene alguna idea de que esta mal?
o que mas puedo hacer?
  #4 (permalink)  
Antiguo 28/03/2006, 01:48
 
Fecha de Ingreso: noviembre-2005
Mensajes: 102
Antigüedad: 18 años, 5 meses
Puntos: 0
Como bien ha dicho el de arriba tienes muy buen material por la red. Aun así como a mi me costo mucho y lo conseguí te pego como lo hice yo:

INSERTAR:

string StrConexion = /*Ruta de tu BD. La mia era:*/""Data Source=.\\SQLEXPRESS;AttachDbFilename=\"C:\\Docume nts and Settings\\Angel\\Mis documentos\\Visual Studio 2005\\Projects\\SistInmotico\\Simulacion\\DatosHog ar.mdf\";Integrated Security=True;User Instance=True";
string StrComando = "SELECT * FROM Seguridad";


//Creamos la conexion
SqlConnection conexion = new SqlConnection(StrConexion);
conexion.Open();
StrComando = "SELECT * FROM Seguridad";
SqlDataAdapter AdaptadorTabla = new SqlDataAdapter(StrComando, StrConexion);
DataSet ds = new DataSet();

AdaptadorTabla.Fill(ds, "Seguridad");
DataRow dr = ds.Tables["Seguridad"].NewTable();
dr["Intrusion"] = 0;
ds.Tables["Seguridad"].Rows.Add(dr);


SqlCommandBuilder comando = new SqlCommandBuilder(AdaptadorTabla);
AdaptadorTabla.Update(ds,"Seguridad");
ds.AcceptChanges();
conexion.Close();

Si no lo entiendes bien o quieres actualizar, mandame privado ;)
  #5 (permalink)  
Antiguo 28/03/2006, 01:52
 
Fecha de Ingreso: noviembre-2005
Mensajes: 102
Antigüedad: 18 años, 5 meses
Puntos: 0
Cita:
Iniciado por blackwind
SqlConnection conn = new SqlConnection("Data Source=MIGUEL/SQLEXPRESS;Initial Catalog=C:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/Data/Test1.mdf; Integrated Security=SSPI; timeout=15");
Quita / y cambialo por \. Ponlo en una variable string y los \ los salvas con otro \. Es decir, cuando tengas que salvar un caracter especial utiliza \. Fijate en la conexion que te he puesto yo. A mi es lo que más me costo ;)
  #6 (permalink)  
Antiguo 28/03/2006, 11:52
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Hola, ya hice los cambios y si logra establecer la conexion........a medias!, ya que a la hora de hacer el login falla.

con este connection string:
String conString = "Data Source=.\\SQLEXPRESS;Initial Catalog=C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\Data\\Test1.mdf; Integrated Security=SSPI;User Instance=true; timeout=15";

me manda este error:
"Cannot open database 'databasepath' requested by the login. The Login failed. Login failed for user 'MIGUELL\mike'"

probe cambiando los valores de integrated security y user instance y sigue con lo mismo.

La autenticacion que tengo para conectarme a sql server es la de windows.

Busque en google el error, y encontre 2 posibles soluciones (que no me sirvieron), y no se como llevarlas a cabo.
1.- poniendo como user ID= "sa" y su password correspondiente. Ya que cheque en logins del sistema y el usuario "sa" si aparece. Pero el password esta encriptado y no se cual sea o como obtenerlo
2. hacer algo asi:
identity impersonate="true" and authentication mode="Windows"
Pero ese instruccion no me la reconoce.....¿como le hago para indicar explicitamente eso?

Alguien tiene alguna idea de como solucionar mi problema??
  #7 (permalink)  
Antiguo 28/03/2006, 16:41
 
Fecha de Ingreso: noviembre-2005
Mensajes: 102
Antigüedad: 18 años, 5 meses
Puntos: 0
¿Has probado a ponerlo como yo pero solo cambiando la ruta? Si ya lo has probado no se que como puedes solucionarlo, ya que yo lo tengo con "Integrated Security=True;User Instance=True";
  #8 (permalink)  
Antiguo 28/03/2006, 18:00
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
si, ya lo he probado. Lo que pasa es que sql server (y creo que otros mas), tienes 2 formas de poner las cosas. Es como attachdatafile es equivalente a initial catalog, y sspi es igual a true. De todas formas, SI YA lo habia probado y pasaba lo mismo.

Alguien mas tiene de idea de como puedo solucionar mi problema?
  #9 (permalink)  
Antiguo 29/03/2006, 00:50
 
Fecha de Ingreso: noviembre-2005
Mensajes: 102
Antigüedad: 18 años, 5 meses
Puntos: 0
Otra segunda opcion es utilizando el SqlDataSource que tienes en las herramientas. En la propiedades, en ConnectionString tienes la conexion bien.
  #10 (permalink)  
Antiguo 29/03/2006, 14:27
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Bueno. Ya solucione mi problema,pero no entiendo por que y fue asi:

En un nuevo proyecto, cree con una base de datos hecha desde vc# 2005 ee (express edition), y de ahi la copia a mi proyecto anterior. Y la puse en el directorio del proyecto, y jalo (de hecho, jala desde cualquier ubicacion). Y ya pude establecer la conexion.

Y no cambie NADA en mi codigo, no se porque con mi base de datos creada desde sql server 2005 ee no jalo :S
voy a hacer mas pruebas y espero averiguar el porque, por lo pronto solo puedo decir que: "si pueden evitar usar el mssql 2005 express edition, haganlo"

saludos,
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




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