六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 200|回复: 0

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

[复制链接]

升级  53.67%

117

主题

117

主题

117

主题

举人

Rank: 3Rank: 3

积分
361
 楼主| 发表于 2013-1-30 01:26:24 | 显示全部楼层 |阅读模式

 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。
 



 
 
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结果


 
 
 
5设计时支持 Npgsql 0.6以上版本提供设计时支持。
你可以在VS.NET的Forms设计器里拖放一个NpgsqlConnection(就像SqlConnections或OleDbConnections)。


 
5.1 在GAC里安装Npgsql.dll
gacutil -i E:\Npgsql.dll


 
要想删除用gacutil –u E:\Npgsql.dll
 
5.2 在注册表里增加下面的键,默认值是的Npgsql.dll路径
 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders'


 
 
5.3

如果是VS.Net 2005,在注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx里添加任意名字的项,值是的Npgsql.dll路径。
 



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


 
5.5 使用


至此大工告成
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

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