ado、odbc连接Postgre SQL

来源:互联网 发布:macbookair办公软件 编辑:程序博客网 时间:2024/05/16 12:47

请先看这篇文章 PostgreSQL OLEDB 安装指南

文章中提及:

首先,从下面的站点下载最新的OleDB Provider For PostgreSQL。
http://gborg.postgresql.org/project/oledb/download/download.php

在下载的包中有两个文件,一个是libpq.dll,另一个是PgOleDb.dll。在安装的时候通常这两个文装应放在一起。然后在使用RegSvr32 PgOleDB.dll 来注册。这样,Ole DB Provider For PostgreSQL才可以被ADODB所使用。
接下来,你就可以使用ADODB来连接PostgreSQL数据库,以下是相应的连接字符串的
Provider=PostgreSQL OLE DB Provider;Password="";User ID=postgres;Data Source=localhost;Location=template1;Extended Properties=""
其中Data Source是PostgreSQL的服务器名,我安装在本地机器,Location为数据库名称。

如果,你经常忘记该怎么来写连接字符串。你可以在Windows文件系统里创建一个后缀名为.udl的空白文件,然后双击该文件,进行填写
,然后用文本编辑器打开就可以看到连接字符串”。

 

要注意的是,你需要libpq.dll和PgOleDb.dll放到系统目录(C:/windows/system32)里面,然后注册。如果遇到其他异常情况,请参考http://www.connectionstrings.com/Providers/pgoledb 顺便提下,这个网站很不错http://www.connectionstrings.com/

 

如《PostgreSQL OLEDB 安装指南》那篇文章中所说,“oledb for postgresql,经常出错,不适合正式场合用”,推荐使用ODBC,那么你可以到

http://www.postgresql.org/ftp/odbc/versions/msi/这里去下载安装。

安装后你首先需要在 开始菜单-管理工具-数据源(ODBC) 中添加数据源,才能如文章中所讲的在udl文件的配置中找到PostgreSQL。

 

下面是我的连接字符串:

ado(oledb):

strConnect = "Provider=PostgreSQL OLE DB Provider;Password=test;User ID=test;Data Source=10.13.76.80;Location=test;Extended Properties=""";

odbc,这个需要先配置数据源:

strConnect = "Provider=MSDASQL.1;Persist Security Info=False;User ID=test;Data Source=PostgreSQL30";

顺便带上个oracle的:

strConnect.Format("Provider=OraOLEDB.Oracle.1; Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL /
                    = TCP)(HOST = %s)(PORT =%s))(CONNECT_DATA =(SERVICE_NAME = %s)));User ID=%s;Password=%s; /
                 Persist Security Info=False",     strHost, strPort, strDataSource, strName, strPsw );

 

最后提下,(忘记刚才在哪看的了)postgresql的库文件不支持VC6,只支持高版本的VC.net。 如果非要在VC6里面使用libpq.lib,肯定需要用vcc编译器编译一编。

 

另一个有关初始化创建数据库的问题:http://deepfuture.javaeye.com/blog/587477

设置环境变量

“set PGHOME=d:/pgsql
set PATH=%PGHOME%/bin;%path%
set PGHOST=localhost
set PGLIB=%PGHOME%/lib
set PGDATA=%PGHOME%/data”

常用命令

“1 initdb 初始化 数据库。(initdb --encoding=UTF8 --locale=C)
2 pg_ctl start 启动数据库
3 pg_ctl stop 停止数据库
4 post_svc -install 建立windows nt 服务(需要设置系统环境变量)
5 post_svc -remove 删除 windows nt 服务
6 使用"createdb 库名" 新建数据库
7 使用"createuser 用户名"创建数据库帐号

8 使用"psql -h localhost -d 库名- U 用户名"进入数据库”