Foros del Web » Programando para Internet » ASPX (.net) »

Actualizar en dos bases de datos en diferente servidor

Estas en el tema de Actualizar en dos bases de datos en diferente servidor en el foro de ASPX (.net) en Foros del Web. Hola Tengo una aplicación en .NET y un datagrid que trae una consulta. Hasta ahí todo bien, el problema en que el datasource, pongo una ...
  #1 (permalink)  
Antiguo 27/05/2009, 16:32
Avatar de Bellabys  
Fecha de Ingreso: abril-2009
Mensajes: 70
Antigüedad: 15 años
Puntos: 1
Actualizar en dos bases de datos en diferente servidor

Hola

Tengo una aplicación en .NET y un datagrid que trae una consulta. Hasta ahí
todo bien, el problema en que el datasource, pongo una cadena de conexion a una base, la verdad no se si se puedan poner dos bases direfentes en una cadena de conexion ya que lo que necesito es actualizar dos bases que se encuentran en servidores diferentes ya que una base es un espejo de la otra,
es decir la misma.

Porfis ayuda, no tengo idea de qué puedo hacer,
se aceptan todas las sugerencias.

Se los agradezco.

Saludos!!.
  #2 (permalink)  
Antiguo 27/05/2009, 17:40
 
Fecha de Ingreso: febrero-2009
Mensajes: 472
Antigüedad: 15 años, 2 meses
Puntos: 14
Respuesta: Actualizar en dos bases de datos en diferente servidor

Yo en tu lugar lo que haria seria dos conexiones una a cada base de datos, puesto que se hayan en servidores diferentes, luego asignar el mismo comando a las dos conexiones y ejecutar los comandos. En teoria es lo mas sencillo que se me ocurre, espero que mi explicació te sirva de ayuda. Mucha suerte

Un saludo:

Pinty
  #3 (permalink)  
Antiguo 27/05/2009, 19:06
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Actualizar en dos bases de datos en diferente servidor

pregunta 1

tus bases de datos estan en SQLServer ambas

si es asi es mas un problema de gestion que de ejecucion directa, puedes manejar la replicacion con asistentes inclusive.

si no puedes hacer 2 conexiones cada uno y orquestarlas en forma transaccional para que ambas inserten con una condicional "y" . inserta en server A es un obligatorio insertar en B usando transactionscope.

saludos.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #4 (permalink)  
Antiguo 28/05/2009, 08:00
Avatar de Bellabys  
Fecha de Ingreso: abril-2009
Mensajes: 70
Antigüedad: 15 años
Puntos: 1
Respuesta: Actualizar en dos bases de datos en diferente servidor

Gracias por sus respuesta.

Por lo que pregunta Peterpay si mis bases ambas están en SQL Server, el
asistente del que me hablas dónde lo encuentro, ya que como no soy administrador en ninguna de las Bases no podría hacerlo desde mismo SQL es por ello que todoo debe quedar en la aplicación.


Pinty gracias por la sugerencia, aunque lo que la verdad no me quedó muy claro fue lo de la asignación del comando, me explicar con un poquito másde datalle, soy nueva en esto.

Gracias!!!
  #5 (permalink)  
Antiguo 29/05/2009, 04:42
 
Fecha de Ingreso: febrero-2009
Mensajes: 472
Antigüedad: 15 años, 2 meses
Puntos: 14
Respuesta: Actualizar en dos bases de datos en diferente servidor

Por supuesto que te explico, para eso estamos jejeje. Pues mira lo que se puede hacer es una consulta de selección de dos tablas en dos bases de datos cuando amba estan en el mismo servidor. Seria asi:

Código:
SELECT * FROM BaseDatos1.dbo.TuTabla T1 
INNER JOIN BaseDatos2.dbo.TuTabla T2 
ON T1.Campo = T2.Campo
Pero en tu caso lo que querias hacer si mal no entiendo es esto mismo pero con dos servidores diferentes. Hay una forma de hacerlo viculando el segundo servidor al primero y haciendo la consulta de seleccion, pero yo creo que es mas sencillo hacer dos comandos por separado tal que asi.

Código:
IMPORTS system.data
IMPORTS system.data.sqlclient

sub cargar_datos()
 Dim comando As New SqlCommand
 Dim conexion1 As New SqlConnection
 Dim conexion2 As New SqlConnection
 Dim ds As New DataSet
 Dim da As New SqlDataAdapter
 Dim ds2 As New DataSet
 Dim da2 As New SqlDataAdapter

 conexion1.ConnectionString = "cadena de conexion a la primera base de datos"
 conexion2.ConnectionString = "cadena de conexion a la segunda base de datos"

 comando.Connection = conexion1
 comando.CommandText = "SELECT * FROM tabla1"
 conexion1.Open()
 ds.SelectCommand = comando
 da.Fill(ds, "datos")
 conexion1.Close()

 'con esto ya tendrias los datos de la base de datos 1, ahora harias lo mismo para la segunda base de datos

 comando.Connection = conexion2
 comando.CommandText = "SELECT * FROM tabla1"
 conexion2.Open()
 ds2.SelectCommand = comando
 da2.Fill(ds2, "datos")
 conexion2.Close()

end sub
Mas o menos esta es la idea, espero que te sirva de ayuda. Mucha suerte

Un saludo.

Pinty
  #6 (permalink)  
Antiguo 01/06/2009, 12:16
Avatar de Bellabys  
Fecha de Ingreso: abril-2009
Mensajes: 70
Antigüedad: 15 años
Puntos: 1
Respuesta: Actualizar en dos bases de datos en diferente servidor

Gracias Pinty por la explicación tan detallada me fue de mucha utilidad!!

Sólo lo adapté a mi código con C#.
  #7 (permalink)  
Antiguo 04/06/2009, 05:26
 
Fecha de Ingreso: febrero-2009
Mensajes: 472
Antigüedad: 15 años, 2 meses
Puntos: 14
Respuesta: Actualizar en dos bases de datos en diferente servidor

Perdón Bellabys no sabia que querias el codigo en C#. Espero que hayas conseguido pasarlo a c# y te funcione correctamente. Para cualquier duda ya sabes

Un saludo

Pinty
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 09:41.