NPGSQL 读取文本文件,写入postgresql数据库

本文介绍如何使用C#连接PostgreSQL数据库,执行SQL查询获取数据,并从CSV文件中导入数据到数据库的方法。示例代码展示了连接字符串的配置、使用NpgsqlDataAdapter填充DataTable以及通过NpgsqlCopyIn进行CSV数据导入的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 //连接postgre数据库
            var connString = "Host=192.168.144.128;Port=5432;Username=user;Password=user;Database=test";
            DataTable pgdt = new DataTable();
            String sqrstr = "select * from public.testtable ";
            using (var conn = new NpgsqlConnection(connString))
            {
                try
                {
                    conn.Open();                                     
                    // Retrieve all rows              
                    using (NpgsqlDataAdapter sqldap = new NpgsqlDataAdapter(sqrstr, conn))
                    {
                        sqldap.Fill(pgdt);
                    }
                    DateTime start = DateTime.Now;
                    FileStream fs = File.OpenRead(@"d:\data.cvs");
                    NpgsqlCommand command = new NpgsqlCommand("COPY public.testtable(id,name) FROM STDIN DELIMITER ';' ", conn);
                    NpgsqlCopyIn cin = new NpgsqlCopyIn(command, conn, fs);
                    cin.Start();
                    cin.End();
                    DateTime end = DateTime.Now;
                }
                catch(NpgsqlException ex)
                {
                    MessageBox.Show(ex.Message);
                }

            }
            if(pgdt.Rows.Count > 0)
            {
                MessageBox.Show("sdff");
            }

            sqrstr = "COPY public.testtable(id,name) from 'data.cvs' delimiter ';' csv HEADER";    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值