C sharp - Conexión a la base de datos de equipo en red

 
Vista:

Conexión a la base de datos de equipo en red

Publicado por Juan Carlos (18 intervenciones) el 26/07/2005 19:04:45
Hola a todos, espero que podais ayudarme, me explico amos a ver:

Estoy realizando un programita en C# para gestionar una base de datos en SQL, una cosa sencillita y que no es dificil de hacer.

El problema lo tengo porque dicho programa va a estar en varios pcs, dentro de una misma red de area local (la cual puede cambiar). La base de datos la quiero dejar en el pc principal (a modo de servidor por asi decirlo) y que lo demás se conecten directamente a la base de datos del mismo.

Mi pregunta es: ¿Como puedo hacer para que al iniciar el programa busque dentro de la red dicha base de datos, que encuentre la que es en concreto (asignándole sus determinados permisos y demás) y una vez echo, se pueda almacenar para que se guarde cada vez que se inicie el mismo, o en el caso de que la red o el pc servidor cambie pueda volver a buscar la base de datos?

En fin por ahora sólo eso, jeje, supongo que me surgirán más problemas pero ese ahora mismo es el más gordo que tengo. Muchas gracias y espero que alguien pueda responderme
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Conexión a la base de datos de equipo en red

Publicado por Yamil Bracho (1164 intervenciones) el 26/07/2005 23:33:20
Puedes hacerlo de varias maneras. Uno es colocar el string de conexion "hardcode" dentro de tu aplicacion (No recomendable). La otra es que crees un archivo de configuracion, ya sea, un archivo ini, un archivo texto, un archivo de dato o un archivo xml (recomendado) y alli tienes toda la informacion para realizar la conexion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Conexión a la base de datos de equipo en red

Publicado por Juan Carlos (18 intervenciones) el 09/08/2005 18:50:59
Entiendo mas o menos lo que me pones, la idea es como consigo desde un equipo remoto que esta dentro de la misma red local.

El string que va en el SqlConnection es este:

workstation id=//JCABJAEN;packet size=4096;integrated security=SSPI;data source=JCABJAEN;persist security info=False;initial catalog=Tabla

Que línea es la que tendría que poner para acceder a dicha base de datos desde el otro pc.

Por cierto que supongo yo y he instalado las herramientas de cliente de sql en el ordenador remoto añadiendole un alias incluso con el nombre del servidor

Pero al ejecutar el programa en el mismo, dice que no encuentra al servidor en cuestion o no tiene permiso para ello, los cuales ahora mismo son publicos para todo el mundo.

Mi idea es que salga algo parecido al administrador de servicios de sql server, donde puedas elegir los servidores que existan en la red (en mi caso se supone que solo uno) y la tabla a la cual acceder, introducir sus correspondientes usuarios, pass etc.

Pero como llegar a que vea los servidores que hay y pueda seleccionarlos?? a eso es lo que yo me refiero que tengo el problema.

Gracias otra vez por adelantado, acabo de leer tu respuesta no he podido hacerlo antes disculpa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Conexión a la base de datos de equipo en red

Publicado por Yamil Bracho (1164 intervenciones) el 09/08/2005 23:14:48
Lo que tendrias que colocar es el nombre o la direccion IP del equipo que va a ser usado como servidor de base de datos Seria algo como

String connectionString="Server=Aron1;Database=pubs;User ID=sa;Password=asdasd;Trusted_Connection=False"

Esto lo colocas en tu archivo de configuracion y listo...!

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Conexión a la base de datos de equipo en red

Publicado por Juan Carlos (18 intervenciones) el 01/09/2005 19:45:45
He puesto lo que me has dicho eso con mi datos

this.sqlConnection1.ConnectionString="Server=Nombre_servidor;
Database=basededatps;User ID=user;Password=pass;
Trusted_Connection=False";

y el error que me da al intentar cargar el dataadapter con la tabla es:

"Error de inicio de sesión del usuario 'user'. Motivo: no está asociado a una conexión de SQL Server de confianza"

(Aunque los select que hago con anterioridad no me da ningún problema)

Yo he creado con el administrador corporativo de mssqlserver el nuevo usuario y le he otorgado los permisos correspondientes para que pueda acceder a las tablas pero no me deja rellenar el dataadapter.

La línea que pone el programa por defecto en el connection string es:

workstation id=nombre_servidor;packet size=4096;integrated security=SSPI;data source=nombre_servidor;persist security info=False;initial catalog=basededatos

Y lo he quitado todo poniendo la líena anteriro, tengo que añadirle algo mas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Conexión a la base de datos de equipo en red

Publicado por Edgar (278 intervenciones) el 01/09/2005 20:40:13
Hola

Creo que deberias poner Trusted_connection=True, para que lo tome como una conexion de confianza

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Conexión a la base de datos de equipo en red

Publicado por Juan Carlos (18 intervenciones) el 05/09/2005 11:34:08
Eso me funciono Edgar gracias, ahora el problema, todo lo hace bien, pero no hace caso al usuario que yo le paso me coge siempre y no se donde cambiarlo

NOMBRE_SERVIDOR\Invitado

Y me dice que la base de datos no tiene permisos para él

Y yo tengo puesto otro nombre de usuario pero al intentar conectarse a la otra máquina siempre coge este, si le doy permisos en la base de datos a Invitado si va perfectamente pero claro eso no es lo que yo quiero, quiero crear mis propios usuarios y que estos entren con las las limitaciones que le asigne a cada uno, es decir, como y donde pongo para que los usuarios que coja sean:

NOMBRE_SERVIDOR\usuario1
NOMBRE_SERVIDOR\usuario2
·
·
·
· etc
He probado con Workstation ID=NOMBRE_SERVIDOR\usuario2
pero ni caso sigue usando invitado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Conexión a la base de datos de equipo en red

Publicado por Edgar (278 intervenciones) el 05/09/2005 14:47:09
Hola

Echale un vistazo a esta página, aqui te indica como debes construir la cadena de conexion, tienes las cadenas de distintas fuentes de datos..

http://www.connectionstrings.com/

Espero que con esto puedas solucionar tu problema...

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Conexión a la base de datos de equipo en red

Publicado por Juan Carlos (18 intervenciones) el 08/09/2005 21:06:49
No me lo soluciona, sigo teniendo el problema de que me intenta entrar como invitado.

Ya no se si es que tengo instalado el sqlserver mal o algo porque ya me empiezo a agobiar, si pongo la conexión segura entra pero intentando con usuarios creados en windows, que encima solo me permite el de Invitado, ya que otros ni los coge.

Y yo lo que pretendo no es con conexión segura de windows, sino a traves de los usuarios creados en el sqlserver a los que le doy uno u otro permiso dentro de mi tabla, pero nada que no quiere.

A ver si podeis solucionarme el problema porque estoy superagobiado. Gracias y espero no estar molestando mucho.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar