设为首页 收藏本站
查看: 1016|回复: 0

[经验分享] ASP.Net2.0连接PostgreSQL数据库

[复制链接]

尚未签到

发表于 2016-11-21 10:11:28 | 显示全部楼层 |阅读模式
PostgreSQL 是一种非常先进的对象-关系型数据库管理系统(ORDBMS),目前功能最强大,特性最丰富和最先进的自由软件数据库系统。有些特性甚至连商业数据库都不 具备。这个起源于伯克利(BSD)的数据库研究计划目前已经衍生成一项国际开发项目,并且有非常广泛的用户。自从MySQL 被Sun 收购后,相信很多对该收购不放心的朋友会转而看好PostgreSQL 的前途。之前我曾经博客中介绍过Ubuntu中通过源码安装编译安装PostgreSQL。在ASP.Net中使用PostgreSQL数据库作为后端数据存储,连接方法有以下两种:
一、采用商业组件的方式PostgreSQLDirect .NET
目前商业组件使用较多的是PostgreSQLDirect .NET,不过这个需要付费,最便宜的标准版网上报价也要1000元人民币。
PostgreSQLDirect .NET是一款为Microsoft .NET Framework提供直接PostgreSQL数据库连接的数据发生器控件。它完全基于ADO.NET方法,因此您完全可以采用标准ADO.NET数据提供的方法来使用它。
安 装之后会在Visual Studio 2005工具栏出现PostgreSQLDirect组件包含了PgSqlConnection PgSqlCommand PgSqlDataAdapter 等控件(如下图),然后在项目里添加引用:CoreLab.Data和CoreLab.PostgreSql,可以拖放控件连接数据库,使用方法2005 的和自带控件基本相同。也可以写代码连接数据库,具体代码如下:
PgSqlDataSet ds = new PgSqlDataSet();
string sql = "SELECT * FROM test WHERE tid=3000";
PgSqlConnection con = new PgSqlConnectio("user id=username;Password=pwd;host=hostname;database=test");
PgSqlDataAdapter da = new PgSqlDataAdapter(sql, con);
da.Fill(ds);
this.dataGridView1.DataSource = ds;
this.dataGridView1.DataMember = ds.Tables[0].ToString();

  安装PostgreSQLDirect .NET之后的工具栏
  二、使用开源组件Npgsql
  Npgsql是一个为开源数据库PostgreSQL提供.NET Framework平台下数据驱动服务的库函数程序集(.NET Data Provider),它允许用户在.NET Framework平台下建立用于访问PostgreSQL数据库的应用。
  解压后将其中的两个dll文件复制到应用程序的Bin目录下,然后在项目里添加引:Mono.Security和NPgSQL,在代码里添加using NpgSQL;具体代码如下:
string sql = "SELECT * FROM test WHERE tid=3000";
NpgsqlConnection con = new NpgsqlConnection("server=hostname;uid=username;pwd=pwd;database=test");
NpgsqlDataAdapter da = new NpgsqlDataAdapter(sql,con);
DataSet ds = new DataSet();
da.Fill(ds);
this.dataGridView1.DataSource = ds;
this.dataGridView1.DataMember = ds.Tables[0].ToString();
  相关链接:
PostgreSQLDirect .NET官方网站
Npgsql官方网站
PostgreSQL官方网站
  http://pgfoundry.org/frs/?group_id=1000140

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-303315-1-1.html 上篇帖子: PostgreSQL 各个后台进程关系的理解 下篇帖子: PostgreSQL的 PITR实战---运用 recovery_target_time
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表