Foros del Web » Programando para Internet » ASP Clásico »

Copiar Tabla de BD1 a BD2

Estas en el tema de Copiar Tabla de BD1 a BD2 en el foro de ASP Clásico en Foros del Web. Hola, quiero saber averiguar alguna función o como hacer para copiar una tabla entera, con todos sus campos, filas, tipos de datos, etc, a una ...
  #1 (permalink)  
Antiguo 15/10/2003, 16:33
Avatar de JuraSSik  
Fecha de Ingreso: octubre-2003
Ubicación: Barcelona
Mensajes: 29
Antigüedad: 20 años, 8 meses
Puntos: 0
Copiar Tabla de BD1 a BD2

Hola, quiero saber averiguar alguna función o como hacer para copiar una tabla entera, con todos sus campos, filas, tipos de datos, etc, a una 2ª Base de datos (creando la tabla en la 2ª, etc)

Alguien me puede ayudar?
  #2 (permalink)  
Antiguo 16/10/2003, 12:08
ACHAVARRIA
Invitado
 
Mensajes: n/a
Puntos:
esta pregunta no es sobre este tema!!!! ASP es de bases de datos pero dime que tipo de base de datos es :

es SQL 7.0 ó 6.5.ó 2000 ????????
es Access ???????
es Sybase ??????
es Progress ????
es Oracle ??????
es Paradox ?????
  #3 (permalink)  
Antiguo 16/10/2003, 16:31
Avatar de JuraSSik  
Fecha de Ingreso: octubre-2003
Ubicación: Barcelona
Mensajes: 29
Antigüedad: 20 años, 8 meses
Puntos: 0
Si, disculpa la demora, el trabajo me absorbe.

Es una BD Acces 2002.

Pretendo hacerlo en ASP, creo que si estoy en el tema adecuado...
  #4 (permalink)  
Antiguo 16/10/2003, 17:50
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
se me ocurre la siguiente manera:

1- crear una nueva tabla en la BD destino mediante SQL (no me preguntes, no se hacerlo pero según ejemplo que vi por ahí no es dificil)
2- hacer un select * form tabla de bd origen y meter todo eso en un array con getrows
3- por cada "elemento" en el array, hacer un insert a la tabla de la base destino


una vez me pasaron un código.. no lo tengo a mano pero mañana te lo podría pegar aquí (espero acordarme)... la única diferencia sustancial es que la tabla de la BD destino ya estaba creada (aunque sin datos) y según leo en tu mensaje la idea es crear la tabla ya que esta no existe.

si te sirve avisame que lo coloco
__________________
...___...
  #5 (permalink)  
Antiguo 19/10/2003, 14:03
Avatar de JuraSSik  
Fecha de Ingreso: octubre-2003
Ubicación: Barcelona
Mensajes: 29
Antigüedad: 20 años, 8 meses
Puntos: 0
No me importaría tener creada la tabla, y utilizarla cuando sea conveniente, gracias por la contestación... Me gustaría mucho recibir la contestación con el código que mencionas.

Siento la demora.
  #6 (permalink)  
Antiguo 19/10/2003, 22:19
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
ahh.. y me olvidé. disculpas.
mañana te lo paso (me mando una mail para acordarme)
__________________
...___...
  #7 (permalink)  
Antiguo 20/10/2003, 06:49
Avatar de JuraSSik  
Fecha de Ingreso: octubre-2003
Ubicación: Barcelona
Mensajes: 29
Antigüedad: 20 años, 8 meses
Puntos: 0
Ok, a la espera y gracias dazuaga.
  #8 (permalink)  
Antiguo 20/10/2003, 11:41
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
caray.. no lo tengo. me parece que está en un backup que aquí no tengo. cuando lo encuentre te lo paso
__________________
...___...
  #9 (permalink)  
Antiguo 20/10/2003, 16:15
Avatar de JuraSSik  
Fecha de Ingreso: octubre-2003
Ubicación: Barcelona
Mensajes: 29
Antigüedad: 20 años, 8 meses
Puntos: 0
Estoy a la espera, gracias por las molestias.
  #10 (permalink)  
Antiguo 20/10/2003, 17:23
 
Fecha de Ingreso: septiembre-2003
Mensajes: 128
Antigüedad: 20 años, 9 meses
Puntos: 0
No conozco bien Access, pero a veces no me queda otra. Si seleccionas la tabla que te interesa transferir, con el boton derecho te aparece una opcion "Exportar", ahi definis el nuevo nombre y si pasas definicion y datos.

Saludos, Daniel.
  #11 (permalink)  
Antiguo 21/10/2003, 05:32
Avatar de JuraSSik  
Fecha de Ingreso: octubre-2003
Ubicación: Barcelona
Mensajes: 29
Antigüedad: 20 años, 8 meses
Puntos: 0
DADU agradezco el interés, pero intento hacerlo todo a través de código ASP, no interactivamente con el programa.
  #12 (permalink)  
Antiguo 21/10/2003, 10:29
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Acá lo encontré. Sólo hay que modificar las lineas que están dentro de los "#" y debería funcionar bien



Código PHP:
<%
'#Codigo de Victor Garay
Dim base_de_datos1, base_de_datos2, tabla1, tabla2, ConnVBa, ConnVB, Tabla_source, Tabla_target

'
modificar aquí los nombres de las bases y de las tablas:
'#########################################
base_de_datos1 = "bd1.mdb"
tabla1 = "tabla_origen"
base_de_datos2 = "bd2.mdb"
tabla2 = "tabla_destino"
'
#########################################

set connVBa server.createobject("ADODB.Connection"'Base de datos 'Source'
set Tabla_source = server.CreateObject("ADODB.Recordset")
connVBa.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath(base_de_datos1)
Tabla_source.open "SELECT * from " & tabla1 ,connVBa,3,2

set connVB = server.createobject("ADODB.Connection") ' 
Base de datos 'Target'
set Tabla_target server.CreateObject("ADODB.Recordset"
connVB.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" server.mappath(base_de_datos2)
Tabla_target.open "SELECT * from " tabla2 ,connVB,3,2

On error resume next
registros_exportados 
0
do while not Tabla_source.eof
registros_exportados 
registros_exportados 1
Tabla_target
.addnew
for i=0 to Tabla_source.fields.count-1
Tabla_target
(i) = Tabla_source(i)
Next
Response
.Write "Exportando registro # " registros_exportados "<br>"
Tabla_target.update
Tabla_source
.movenext
Loop

Tabla_target
.close
Set Tabla_target 
nothing
connVB
.close
Set connVB 
nothing

Tabla_source
.close 
Set Tabla_source 
nothing
connVBa
.close
Set connVBa 
nothing 

Response
.Write "Fin"
%> 

Recordá que la tabla destino debe ser una réplica de la tabla origen... en su estructura de campos y definiciones de datos de los mismos.

Espero te sirva

sAludos

Última edición por AlZuwaga; 21/10/2003 a las 10:30
  #13 (permalink)  
Antiguo 21/10/2003, 16:05
Avatar de JuraSSik  
Fecha de Ingreso: octubre-2003
Ubicación: Barcelona
Mensajes: 29
Antigüedad: 20 años, 8 meses
Puntos: 0
Es curioso, acabo justo de solucionarlo por un método que me ha costado crear, mirando manuales de ASP, de todos modos estudio tu posibilidad y aprendo alternativas.


Yo lo hizo con

INSERT INTO tabladestino (campo1,campo2,campoN) SELECT tablaorigen.campo1, tablaorigen.campo2, tablaorigen.campoN FROM tablaorigen


Gracias Dazuaga.
  #14 (permalink)  
Antiguo 21/10/2003, 16:17
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
pero eso funcionaría sólo para tablas que se encuentran en una misma BD y el enunciado de tu primer mensaje no decía eso
__________________
...___...
  #15 (permalink)  
Antiguo 21/10/2003, 16:21
Avatar de JuraSSik  
Fecha de Ingreso: octubre-2003
Ubicación: Barcelona
Mensajes: 29
Antigüedad: 20 años, 8 meses
Puntos: 0
Ahí tienes razón, al no encontrar solución unifiqué 2 bases de datos...

Entonces, carai!, puedo realizar lo que queria.

Gracias Dazuaga.
  #16 (permalink)  
Antiguo 21/10/2003, 16:32
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
momentoooooo!

Ya sabía yo que por algún lado lo había leido... mirá esto


no sólo lo leí sino que participé en dicho mensaje... me quedé así:




saludos
  #17 (permalink)  
Antiguo 21/10/2003, 16:37
Avatar de JuraSSik  
Fecha de Ingreso: octubre-2003
Ubicación: Barcelona
Mensajes: 29
Antigüedad: 20 años, 8 meses
Puntos: 0
Muy buena aclaración, todavía mas facil y jugando con tablas y bases externas.
Perfecto!

Gracias por la dedicación, Dazuaga.
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 19:20.