Importador de dados CSV para o banco de dados postgresql em CSharpe
28/10/2022
0
Estou fazendo um importador de dados em CSV de uma tabela excel para o banco de dados em C# eu fiz o código do mapeamento e a leitura do mesmo, porém fica dando erro no nome da classe, o nome da classe está o mesmo que o nome da tabela do banco e o mesmo que do excel, porém não sei se é dessa forma, se alguém conseguir me ajudar ou tiver algum exemplo que possa me passar.
Marina Rodrigues
Curtir tópico
+ 0
Responder
Posts
30/03/2023
Stella Oliveira
Existe uma maneira simples de resolver isso, você pode seguir os seguintes passos:
1. Crie uma conexão com o banco de dados usando a classe SqlConnection:+
2. Crie um objeto SqlBulkCopy para copiar os dados em massa para o banco de dados:
3. Configure o objeto SqlBulkCopy com as informações do arquivo CSV:
4. Leia o arquivo CSV usando a classe TextFieldParser:
5.
Lembre-se de adaptar o código de acordo com suas necessidades, como configurar as opções de tratamento de erros, ajustar as configurações de conexão e mapeamento de colunas, etc.
1. Crie uma conexão com o banco de dados usando a classe SqlConnection:+
string connectionString = "Data Source=seu_servidor;Initial Catalog=sua_base_de_dados;User ID=seu_usuario;Password=sua_senha;"; SqlConnection connection = new SqlConnection(connectionString); connection.Open();
2. Crie um objeto SqlBulkCopy para copiar os dados em massa para o banco de dados:
SqlBulkCopy bulkCopy = new SqlBulkCopy(connection);
3. Configure o objeto SqlBulkCopy com as informações do arquivo CSV:
bulkCopy.DestinationTableName = "nome_da_tabela_no_banco_de_dados"; bulkCopy.ColumnMappings.Add("nome_da_coluna_no_csv", "nome_da_coluna_no_banco_de_dados");
4. Leia o arquivo CSV usando a classe TextFieldParser:
using Microsoft.VisualBasic.FileIO; using (TextFieldParser parser = new TextFieldParser("caminho_para_o_arquivo.csv")) { parser.TextFieldType = FieldType.Delimited; parser.SetDelimiters(","); while (!parser.EndOfData) { string[] fields = parser.ReadFields(); // Insira os dados na tabela usando o objeto SqlBulkCopy bulkCopy.WriteToServer(fields); } }
5.
Feche a conexão com o banco de dados:
connection.Close();
Lembre-se de adaptar o código de acordo com suas necessidades, como configurar as opções de tratamento de erros, ajustar as configurações de conexão e mapeamento de colunas, etc.
Responder
Clique aqui para fazer login e interagir na Comunidade :)