DE MYSQL PARA MYSQL
olá pessoal!
Estou tentando passar os dados de uma tabela chamada clientes do banco de dados X para uma tabela igual mas para o banco de dados Y, via código.
fiz duas conexões, mas me faltou força he he he he.
estou usando o seguinte;
como poderei passar o resultado da pesquisa do rscc para o rscc2??? é possÃvel?
abraço
Estou tentando passar os dados de uma tabela chamada clientes do banco de dados X para uma tabela igual mas para o banco de dados Y, via código.
fiz duas conexões, mas me faltou força he he he he.
estou usando o seguinte;
Dim rscc As ADODB.Recordset
Dim sql As String
Set rscc = New ADODB.Recordset
rscc.CursorLocation = adUseServer
Dim rscc2 As ADODB.Recordset
Set rscc2 = New ADODB.Recordset
rscc2.CursorLocation = adUseServer
rscc.Open [Ô]select * from clientes[Ô], conn, adOpenStatic, adLockOptimistic, adCmdText
rscc2.Open [Ô]insert into clientes select * from contatos[Ô]??????????????????
como poderei passar o resultado da pesquisa do rscc para o rscc2??? é possÃvel?
abraço
Não precisa criar duas conexões. Faça o seguinte:
Aonde bd1 e bd2 são os dois bancos.
Dim Tabela As New ADODB.Recordset
Dim TabelaDestino As New ADODB.Recordset
TabelaDestino.Open [Ô]SELECT bd1.tabela1.campo1, bd1.tabela1.campo2 FROM db1.tabela1[Ô], Conn, adOpenStatic, adLockOptimistic
With Tabela
.Open [Ô]SELECT bd2.tabela1.campo1, bd2.tabela1.campo2 FROM db2.tabela1[Ô], Conn, adOpenStatic, adLockOptimistic
If Not .Eof Then
.MoveFirst
Do While Not .Eof
TabelaDestino.AddNew
TabelaDestino!Campo1 = !Campo1
TabelaDestino!Campo2 = !Campo2
TabelaDestino.Update
.MoveNext
Loop
End If
End With
Aonde bd1 e bd2 são os dois bancos.
gostaria de não usar o Loop, por questão de desempenho, mas muito obrigado por enquanto hidden, será que é possÃvel sem o Loop?
Eu desconheço outra forma. Mas em relação a performance, nem me preocupo muito. O MySQL possui um mecanismo bastante rápido. E qualquer processador P4 acima da conta do recado.
Fiz um teste aqui agora, preenchendo um grid (não ciente de dados) com 242.458 registros (uma tabela com 14 campos). Carregou em 1,0899 segundos. E estou utilizando um notebook com AMD Turion 64 de 1.9 GHz (4GB Ram).
Fiz um teste aqui agora, preenchendo um grid (não ciente de dados) com 242.458 registros (uma tabela com 14 campos). Carregou em 1,0899 segundos. E estou utilizando um notebook com AMD Turion 64 de 1.9 GHz (4GB Ram).
Mesmo que houvesse uma forma tipo
Certamente o mecanismo do banco de dados utilizaria um loop para realizar a tarefa.
rscc2.Open [Ô]insert into clientes select * from contatos[Ô]
Certamente o mecanismo do banco de dados utilizaria um loop para realizar a tarefa.
Blz, no momento vou usar o Loop, Muito obrigado Hidden
Tópico encerrado , respostas não são mais permitidas