一、采用商业组件的方式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