Ir para o conteúdo
HQuintas

Exportar e importar tabelas no SQL Server

Mensagens Recomendadas

HQuintas

Bom dia

Precisava de umas sugestões para exportar várias tabelas do sql server para um ficheiro (txt por exemplo, ou outro) e depois voltar a importar essas mesmas tabelas.

Usaria a classe SqlBulkCopy ? como?

Obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HQuintas

Boas

PSantos10 isso faz uma cópia da base de dados toda. (A base de dados tem perto de 7GB)

E eu só quero copiar alguns dados de algumas tabelas (umas 30). E quero fazer essa cópia para um unico ficheiro.

Estava a pensar em criar uma base dados em SQLce ou SQLite e depois ai importar e exportar os dados entre SQLserver. Mas queria algo que fosse rápido, do tipo

EXEC MASTER.DBO.XP_CMDSHELL'bcp "select * from BD.Tabela" queryout "c:\MyData.txt" -c -t"," -r"\n" -S HELDER-PC\SERVER -T'

(Mas as várias tabelas para um unico ficheiro.)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pt_V1p3r

Bem e que tal usares o BCP http://msdn.microsoft.com/en-us/library/aa174646(v=sql.80).aspx

Podes simplesmente atraves do vb correr este utilitario com os argumentos que necessitas, eu ja o usei em alguns programas e este utilitario em termos de rapidez é fenomenal, e quando guardas os dados que queres ele proprio cria um ficheiro com tudo armazenado.

Fora isso so mesmo à 'unha' :-)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HQuintas

Boas

Estava a tentar resolver assim:

Imports System.Data.SqlClient
Imports System.Data.SqlServerCe

Public Class Form1
   Dim connectionstring = "Data Source=HELDER-PC\QUINTAS;Initial Catalog=Expo;Integrated Security=SSPI;"
   Dim connectionstring_destino = "Data Source='C:\Users\Helder\Desktop\Expo.sdf';"
   Private da As SqlCeDataAdapter

   Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
       Dim origem As SqlConnection = New SqlConnection(connectionstring)
       Dim destino As SqlCeConnection = New SqlCeConnection(connectionstring_destino)
       Dim da_origem As SqlDataAdapter
       Dim ds_origem As DataSet
       Dim da_destino As New SqlCeDataAdapter
       Dim ds_destino As New DataSet
       Dim dt_origem As New DataTable
       Dim dt_destino As New DataTable
       origem.Open()
       destino.Open()

       Dim sql As String = "Select * from dbo.Tabela"


       da_origem = New SqlDataAdapter(sql, origem)

       ds_origem = New DataSet

       da_origem.Fill(dt_origem)
       dt_destino = dt_origem.Copy

       Me.DataGridView1.DataSource = dt_destino

       Dim cb As New SqlCeCommandBuilder(da_destino)
       da_destino.Update(ds_destino, "dbo.Tabela")
       destino.Close()
       origem.Close()
       MsgBox("ok")
   End Sub
End Class

Mas como gravo na tabela destino os dados?

A tabela tem o mesmo nome (dbo.Tabela) e os mesmos campos.

Editado por thoga31
GeSHi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.