PostgreSQL接口编程二:.NetDataProvider--Npgsql驱动
1介绍
Npgsql是pg的.Net驱动,它可以使任何基于.Net framework开发的程序访问数据库。它100%由C#实现。支持和pg7.x和8.x。
我写这篇文章时用的是pg9.x,可以正常访问。
这个接口支持.Net data provider,和ADO.NET之OLEDB/ODBC有区别。要是从别的数据库迁移过来,而以前使用的是ADO.NET之OLEDB/ODBC接口,有些访问数据库的代码需要修改。
从网站
http://pgfoundry.org/projects/npgsql/
下载Npgsql驱动
2使用驱动包
建基于.Net framework 2.0的项目。
解压Npgsql驱动包,在项目中引用Npgsql.dll。
http://dl.iteye.com/upload/attachment/578674/f590c954-3f04-3f6a-8067-8660103b7fa8.png
3代码
NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=beigang;Password=beigang;Database=test;");
conn.Open();
NpgsqlCommand command = new NpgsqlCommand("select * from test", conn);
try
{
NpgsqlDataReader dr = command.ExecuteReader();
while (dr.Read())
{
for (int i = 0; i < dr.FieldCount; i++)
{
Console.Write("{0} \t", dr);
this.txtMsg.Text += dr.ToString() + "\r\n";
}
}
}
finally
{
conn.Close();
}
4结果
http://dl.iteye.com/upload/attachment/578676/0eaeab10-e2c0-326b-8499-a3746e3c6563.png
5设计时支持 Npgsql 0.6以上版本提供设计时支持。
你可以在VS.NET的Forms设计器里拖放一个NpgsqlConnection(就像SqlConnections或OleDbConnections)。
5.1 在GAC里安装Npgsql.dll
gacutil -i E:\Npgsql.dll
http://dl.iteye.com/upload/attachment/578678/f74af766-a378-3511-9359-c57eb9692cc6.png
要想删除用gacutil –u E:\Npgsql.dll
5.2 在注册表里增加下面的键,默认值是的Npgsql.dll路径
'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders'
http://dl.iteye.com/upload/attachment/578680/b9963a51-5c2f-32ea-9fd2-3ad056dd95da.png
5.3
如果是VS.Net 2005,在注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx里添加任意名字的项,值是的Npgsql.dll路径。
http://dl.iteye.com/upload/attachment/578682/90b5a797-86f1-398d-ae5a-e6377570020e.png
5.4
打开Visual Studio .NET,在工具箱中右击data标签,点击增加元素,在窗口中选择NpgsqlConnection
http://dl.iteye.com/upload/attachment/578684/b4a62a6e-1a11-3035-a985-99dc52215a3c.png
5.5 使用
http://dl.iteye.com/upload/attachment/578686/ad3361db-4365-378b-9e68-c492ec5a11a3.png
至此大工告成
页:
[1]