你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

C# 访问Postage数据库

2021/12/28 9:42:15

        在开发中遇到一个小问题,就是业务中第一个流程录入的人员信息由于历史原因是存在一个Postage数据库中,个人不是特别了解这个数据库,而且之前的开发都是在sqlServer中使用DBLink连接这个数据库。使用DBlinnk带条件查询会发现这个查询会消耗十秒左右的时间,于是在一个查询页面中,我打算直接连接这个Postage数据库进行查询。

        于是搜索各种C#直连Postage数据库的方法,发现都提示我需要Npgsql.dll和Mono.Security.dll这两个dll,缺少后者会报错。但是很多教程给的地址失效了,无法下载,最后在NuGet Gallery | Npgsql 2.2.3网页找到了方法 使用NuGet将这两个dll同时导入项目。

        但是这个版本的Npgsql好像只支持到.net4.5(如下图

),我写的项目是.net4.0,满足需求。

        

        然后根据其他教程给的提示,写了一个查询的方法,仅供参考。

public static DataTable ExecuteQuery(string sqrstr)
    {
        string connStr = @"PORT=5432;DATABASE=*****;HOST=***.**.**.**;PASSWORD=*********;USER ID=*****";
        NpgsqlConnection sqlConn = new NpgsqlConnection(connStr);
        DataTable dt = new DataTable();
        try
        {
            using (NpgsqlDataAdapter sqldap = new NpgsqlDataAdapter(sqrstr, sqlConn))
            {
                sqldap.Fill(dt);
            }
            return dt;
        }
        catch (System.Exception ex)
        {
            // throw ex;
            return dt;
        }
    }