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