Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fiz um programa para migração de base de dados e conecto via ODBC em uma base e seleciono os dados e vou
montando as querys de insert,minha dúvida:
- Criei um variavel do DADOSTAB do tipo ADODB.recordset, e mando ela executar e guardar um um select abaixo:
"select * from tabela1". Não executei ainda, por que estou com medo de o objeto ADODB.recordset não aguentar
tantos dados. A tabela tem 1 milhão de linhas. Alguem já fez algo parecido, será que isso vai rodar, preciso
saber disso antes de mandar rodar. Segue o código:
Sub conecta()
' Conexão com o Banco de Dados
Dim StringConexao As String
Dim NomeODBC As String
Dim Usuario As String
Dim Senha As String
Dim rstDados As New ADODB.Recordset
Dim Pesquisa As String
Dim cnnDados As ADODB.Connection
Dim Testedados As String
Dim Insere As String
Dim fso As New Scripting.FileSystemObject
Dim ts As Scripting.TextStream
Dim contador As Long
NomeODBC = "fontedch"
Usuario = "DCHOWN"
Senha = "123"
StringConexao = "Data Source='" & NomeODBC & "';User ID='" & Usuario & "';Password='" & Senha & "';"
Set cnnDados = New ADODB.Connection
cnnDados.ConnectionString = StringConexao
cnnDados.Open
rstDados.CursorLocation = adUseClient
Pesquisa = " select * from tbteste"
rstDados.Open Pesquisa, cnnDados
Testedados = rstDados!Nome
Set ts = fso.OpenTextFile("c:\meutexto.txt", ForWriting, True)
contador = 0
While Not (rstDados.EOF)
Insere = "insert into tbTeste (Codigo, Nome) values ('" & rstDados!codigo & "','" & rstDados!Nome & "');"
ts.Write (Insere)
ts.WriteBlankLines (1)
contador = contador + 1
If contador = 3 Then
ts.Write ("commit;")
ts.WriteBlankLines (1)
contador = 0
End If
rstDados.MoveNext
Wend
ts.Close
Set ts = Nothing
rstDados.Close
End Sub
Private Sub Command1_Click()
conecta
End Sub
Private Sub Text1_Change()
End Sub
Carregando comentários...