1. 程式人生 > >ado odbc連線Postgre SQL

ado odbc連線Postgre SQL

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

http://blog.csdn.net/bao_qibiao/article/details/5330174

請先看這篇文章 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/

 (

  • Standard

    PgOleDb requires a PQLib of version 7.4 or up and it also requires a backend of version 7.4 or up. Timestamps are only guarenteed to work with backends of version 8.0 and up.

    Provider=PostgreSQL OLE DB Provider;Data Source=myServerAddress;
    location
    =myDataBase;User ID=myUsername;password=myPassword;timeout=1000;

    Other valid Provider values is "PostgreSQL" and "PostgreSQL.1"

    PostgreSQL
  • Standard alternative

    Some reported problems with the above one. Try removing the timeout parameter to make it work.

    Provider=PostgreSQL OLE DB Provider;Data Source=myServerAddress;
    location
    =myDataBase;User ID=myUsername;password=myPassword;
)

如《 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 使用者名稱"進入資料庫”


2

VC用ado連線postgresql

ado連線資料庫沒有什麼好說的 。關鍵是要註冊 OleDB驅動程式
首先下載驅動程式去官網下載或者 網盤下載 
然後解壓到一個資料夾裡cmd進入目錄
regsvr32 PgOleDb.dll 註冊成功了會顯示 然後就可以用ado連線了 
連線字串為_bstr_t strConnect ="Provider=PostgreSQL OLE DB Provider;Password=root;User ID=postgres;Data Source=localhost;Location=postgres;";

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述