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。


PostgreSQL接口编程二:.NetDataProvider--Npgsql驱动

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[i]);

this.txtMsg.Text += dr[i].ToString() + "\r\n";

}

}

}

finally

{

conn.Close();

}

4结果


PostgreSQL接口编程二:.NetDataProvider--Npgsql驱动

5设计时支持

Npgsql 0.6以上版本提供设计时支持。

你可以在VS.NET的Forms设计器里拖放一个NpgsqlConnection(就像SqlConnections或OleDbConnections)。

5.1 在GAC里安装Npgsql.dll

gacutil -i E:\Npgsql.dll


PostgreSQL接口编程二:.NetDataProvider--Npgsql驱动

要想删除用gacutil –u E:\Npgsql.dll

5.2 在注册表里增加下面的键,默认值是的Npgsql.dll路径
'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders'


PostgreSQL接口编程二:.NetDataProvider--Npgsql驱动

5.3

如果是VS.Net 2005,在注册表

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx里添加任意名字的项,值是的Npgsql.dll路径。


PostgreSQL接口编程二:.NetDataProvider--Npgsql驱动

5.4

打开Visual Studio .NET,在工具箱中右击data标签,点击增加元素,在窗口中选择NpgsqlConnection


PostgreSQL接口编程二:.NetDataProvider--Npgsql驱动

5.5 使用


PostgreSQL接口编程二:.NetDataProvider--Npgsql驱动

至此大工告成


相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-18
  • 2021-12-05
  • 2021-08-03
  • 2021-08-13
  • 2022-01-06
  • 2021-11-17
猜你喜欢
  • 2022-01-04
  • 2021-08-11
  • 2022-02-05
  • 2021-04-21
  • 2022-02-06
相关资源
相似解决方案