Inquiridor
exportar dados da tabela sqlserver para arquivos de texto atravez do c#

Pergunta
-
Boa tarde
Preciso de ajuda para exporta os dados de uma tabela para sql para arquivos de textos
ja consegui fazer do arquivos de texto para arquivo sql com esta instrução
private
void bntGravar_Click(object sender, EventArgs e)
{
{
{
{
}
cadastra(quebra[0], quebra[1]);
}
}
{
}
}
{
conn.Open();
cmd.Connection = conn;
cmd.CommandText = strSql;
cmd.CommandType =
CommandType.Text;cmd.ExecuteNonQuery();
lblMensagem.Text=
"Arquivo Gravado com Sucesso!" + txtArquivo.Text;}
{
AbrirComo.Title =
"Abrif Como";AbrirComo.FileName =
"Nome Arquivo";AbrirComo.Filter =
"Arquivos Textos (*.txt)|*.txt";Caminho = AbrirComo.ShowDialog();
arquivo = AbrirComo.FileName;
{
}
{
fluxotexto =
new StreamReader(arquivo);{
linhatexto = fluxotexto.ReadLine();
registro = registro + 1;
}
txtArquivo.Text = AbrirComo.FileName;
fluxotexto.Close();
txtRegistro.Text = registro.ToString();
lblMensagem.Text =
"Arquivo lido!";}
}
AGORA PRECISO FAZER SELEÇÃO E ATRAVEZ DE SELECT PARA DENTRO DE ARQUIVOS DE TEXTO
- Movido Gustavo Maia Aguiar segunda-feira, 7 de novembro de 2011 21:32 (De:SQL Server - Desenvolvimento Geral)
Todas as Respostas
-
Boa Noite,
Essa não parece ser uma forma muito eficiente de fazer, pois, abrir uma conexão e usar um INSERT a cada linha será degradante para o desempenho. Seria melhor abrir a conexão uma única vez, efetuar os INSERTs e por último encerrá-la. Assim ao invés da conexão ser aberta a cada linha, é aberta uma única vez ganhando desempenho.
Independente do sentido, pensar linha a linha não é uma boa abordagem para importação de grandes volumes de dados (não sei se é o seu caso). Procure o utilitário BCP, ou os comandos BULK INSERT OPENROWSET (com a opção de BULK). Podem mover arquivos textos para dentro do SQL Server e exportar os dados para texto com muita facilidade e velocidade.
Acredito que sejam alternativas mais interessantes e fáceis de manter do que o código em C#. Eventualmente você pode usar o C# para chamar o BCP em linha de comando (o que é bem interessante).
Maiores detalhes sobre o BCP em:
Importando e exportando dados em massa usando o utilitário bcp
http://msdn.microsoft.com/pt-br/library/aa337544.aspxExportar e importar dados do SQL Server com linha de comando (BCP)
http://keniamilene.wordpress.com/2008/10/15/exportar-e-importar-dados-do-sql-server-com-bcp/SQL Server: Aprenda a usar BCP (esqueça o C# de vez em quando)
http://www.leandrodaniel.com/reverb/post/Aprenda-a-usar-BCP.aspx[ ]s,
Gustavo Maia Aguiar
Blog: http://gustavomaiaaguiar.wordpress.com
Vídeos: http://www.youtube.com/user/gmasql
Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Gustavo Maia Aguiar segunda-feira, 7 de novembro de 2011 21:32
-
Boa noite
Gustavo, o codigo fonte acima de certo, para importar do .txt para sql ..
Porem o que preciso e fazer o contrario ..pois preciso montar um áplicativo que exporta informações de algumas tabelas do sql para uma arquivo texto para então gerar estar informações para outro sitema que consegue so ler em arquivos de textos..
lendo alguns forum encontrei estes aqui so que deu certo
{
adap.Fill(ds);
txRegistro.Text = ds.Tables[0].Rows[0][0].ToString();
chega nesta linha acima da este erro
foreach statement cannot operate on variables of type 'System.Data.DataTable' because 'System.Data.DataTable' does not contain a public definition for 'GetEnumerator'