Importador de dados CSV para o banco de dados postgresql em CSharpe

28/10/2022

0

C#

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

Marina Rodrigues

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:+

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

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar