private void btnImportarArquivoCnpj_Click(object sender, EventArgs e) { int counter = 0; char[] str = "".ToCharArray(); System.IO.StreamReader file = new System.IO.StreamReader(@"C:\Users\Desenv01\Desktop\Empresas\DADOS_ABERTOS_CNPJ (1)\F.K032001K.D90308"); //C:\Users\Desenv01\Desktop\Empresas\DADOS_ABERTOS_CNPJ (1)\F.K032001K.D90308 86gb file // string line = string.Empty; var lista = new List <ArquivoReceitaFederalLinhaPrincipal>(); var listaSec = new List <ArquivoReceitaFederalLinhaSecundaria>(); while ((line = file.ReadLine()) != null) { if (line.Substring(0, 1) == "1") { var linhaPrincipal = new ArquivoReceitaFederalLinhaPrincipal(line); inserirDadosLinhaPrincipal(linhaPrincipal); } if (line.Substring(0, 1) == "2") { var linhaSecundaria = new ArquivoReceitaFederalLinhaSecundaria(line); inserirDadosLinhaSecundaria(linhaSecundaria); } if (line.Substring(0, 1) == "6") { var LinhaTerc = new ArquivoReceitaFederalLinhaTerciaria(line); } counter++; txt2.Text = counter.ToString(); Application.DoEvents(); } MessageBox.Show("Importação Finalizada"); }
public bool inserirDadosLinhaSecundaria(ArquivoReceitaFederalLinhaSecundaria Linha2) { var sql = @"INSERT INTO[dbo].[Socio] ([CNPJ] ,[IDENTIFICADOR_DE_SOCIO] ,[NOME_SOCIO_NO_CASO_PF_OU_RAZÃO_SOCIAL_NO_CASO_PJ] ,[CNPJ_CPF_DO_SOCIO] ,[CODIGO_QUALIFICACAO_SOCIO] ,[PERCENTUAL_CAPITAL_SOCIAL] ,[DATA_ENTRADA_SOCIEDADE] ,[CODIGO_PAIS] ,[NOME_PAIS_SOCIO] ,[CPF_REPRESENTANTE_LEGAL] ,[NOME_REPRESENTANTE] ,[CODIGO_QUALIFICACAO_REPRESENTANTE_LEGAL]) VALUES (@CNPJ ,@IDENTIFICADOR_DE_SOCIO ,@NOME_SOCIO_NO_CASO_PF_OU_RAZÃO_SOCIAL_NO_CASO_PJ ,@CNPJ_CPF_DO_SOCIO ,@CODIGO_QUALIFICACAO_SOCIO ,@PERCENTUAL_CAPITAL_SOCIAL ,@DATA_ENTRADA_SOCIEDADE ,@CODIGO_PAIS ,@NOME_PAIS_SOCIO ,@CPF_REPRESENTANTE_LEGAL ,@NOME_REPRESENTANTE ,@CODIGO_QUALIFICACAO_REPRESENTANTE_LEGAL)"; //var sqlConnectionString = "Data Source=localhost;Initial Catalog=Fenicio_Receita_Federal;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"; var sqlConnectionString = @"Data Source=localhost\SQLEXPRESS;Initial Catalog=fenicio_receita_federal;Integrated Security=true;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"; using (var conn = new SqlConnection(sqlConnectionString)) { DateTime DATA_ENTRADA_SOCIEDADE; if (!DateTime.TryParse(Linha2.DATA_ENTRADA_SOCIEDADE.Substring(6, 2) + "/" + Linha2.DATA_ENTRADA_SOCIEDADE.Substring(4, 2) + "/" + Linha2.DATA_ENTRADA_SOCIEDADE.Substring(0, 4), out DATA_ENTRADA_SOCIEDADE)) { sql = sql.Replace("@DATA_OPCAO_PELO_SIMPLES", "NULL"); } //corrigir a data que deu estouro de datetime var cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue(@"CNPJ", Linha2.CNPJ); cmd.Parameters.AddWithValue(@"IDENTIFICADOR_DE_SOCIO", Linha2.IDENTIFICADOR_DE_SOCIO); cmd.Parameters.AddWithValue(@"NOME_SOCIO_NO_CASO_PF_OU_RAZÃO_SOCIAL_NO_CASO_PJ", Linha2.NOME_SOCIO_NO_CASO_PF_OU_RAZÃO_SOCIAL_NO_CASO_PJ); cmd.Parameters.AddWithValue(@"CNPJ_CPF_DO_SOCIO", Linha2.CNPJ_CPF_DO_SOCIO); cmd.Parameters.AddWithValue(@"CODIGO_QUALIFICACAO_SOCIO", Linha2.CODIGO_QUALIFICACAO_SOCIO); cmd.Parameters.AddWithValue(@"PERCENTUAL_CAPITAL_SOCIAL", Linha2.PERCENTUAL_CAPITAL_SOCIAL); //cmd.Parameters.AddWithValue(@"DATA_ENTRADA_SOCIEDADE", DATA_ENTRADA_SOCIEDADE); cmd.Parameters.Add("@DATA_ENTRADA_SOCIEDADE", System.Data.SqlDbType.DateTime2, 8).Value = DATA_ENTRADA_SOCIEDADE; cmd.Parameters.AddWithValue(@"CODIGO_PAIS", Linha2.CODIGO_PAIS); cmd.Parameters.AddWithValue(@"NOME_PAIS_SOCIO", Linha2.NOME_PAIS_SOCIO); cmd.Parameters.AddWithValue(@"CPF_REPRESENTANTE_LEGAL", Linha2.CPF_REPRESENTANTE_LEGAL); cmd.Parameters.AddWithValue(@"NOME_REPRESENTANTE", Linha2.NOME_REPRESENTANTE); cmd.Parameters.AddWithValue(@"CODIGO_QUALIFICACAO_REPRESENTANTE_LEGAL", Linha2.CODIGO_QUALIFICACAO_REPRESENTANTE_LEGAL); try { conn.Open(); var reader = cmd.ExecuteScalar(); return(true); } catch (Exception e) { sql = "INSERT INTO ErrosImportacao (Linha,Erro) VALUES(@Linha,@Erro)"; cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue(@"Linha", Linha2.LinhaCompleta); cmd.Parameters.AddWithValue(@"Erro", e.Message); cmd.ExecuteScalar(); return(false); } finally { conn.Close(); } } }