vc訪問postgresql
⑴ 濡備綍榪愯岃繙紼嬪㈡埛絝榪炴帴postgresql鏁版嵁搴
瀹夎匬ostgreSQL鏁版嵁搴撲箣鍚庯紝榛樿ゆ槸鍙鎺ュ彈鏈鍦拌塊棶榪炴帴銆傚傛灉鎯沖湪鍏朵粬涓繪満涓婅塊棶PostgreSQL鏁版嵁搴撴湇鍔″櫒錛屽氨闇瑕佽繘琛岀浉 搴旂殑閰嶇疆銆傞厤緗榪滅▼榪炴帴PostgreSQL鏁版嵁搴撶殑姝ラゅ緢綆鍗曪紝鍙闇瑕佷慨鏀筪ata鐩褰曚笅鐨刾g_hba.conf鍜宲ostgresql.conf, 鍏朵腑pg_hba.conf鏄鐢ㄦ潵閰嶇疆瀵規暟鎹搴撶殑璁塊棶鏉冮檺錛宲ostgresql.conf鏂囦歡鐢ㄦ潵閰嶇疆PostgreSQL鏁版嵁搴撴湇鍔″櫒鐨勭浉搴旂殑鍙傛暟銆 涓嬮潰浠嬬粛閰嶇疆鐨勬ラわ細
1.淇鏀筽g_hba.conf鏂囦歡錛岄厤緗鐢ㄦ埛鐨勮塊棶鏉冮檺錛
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.1.0/24 md5
# IPv6 local connections:
host all all ::1/128 trust
鍏朵腑綰㈣壊鏍囪瘑鐨勫唴瀹逛負鏂版坊鍔犵殑鍐呭癸紝琛ㄧず鍏佽哥綉孌192.168.1.0涓婄殑鎵鏈変富鏈轟嬌鐢ㄦ墍鏈夊悎娉曠殑鏁版嵁搴撶敤鎴峰悕璁塊棶鏁版嵁搴擄紝騫舵彁渚涘姞瀵嗙殑瀵嗙爜楠 璇併傚湪鎴戜滑鐨勭幆澧冧腑錛屾垜浠闇瑕佸湪涓繪満192.168.1.5涓婁嬌鐢╬ostgres鐢ㄦ埛璁塊棶192.168.1.9涓婄殑PostgreSQL鏁版嵁搴撱
2.淇鏀筽ostgresql.conf鏂囦歡錛屽皢鏁版嵁搴撴湇鍔″櫒鐨勭洃鍚妯″紡淇鏀逛負鐩戝惉鎵鏈変富鏈哄彂鍑虹殑榪炴帴璇鋒眰銆
瀹氫綅鍒#listen_addresses='localhost'銆侾ostgreSQL瀹夎呭畬鎴愬悗錛岄粯璁ゆ槸鍙鎺ュ彈鏉ュ湪鏈鏈簂ocalhost鐨勮繛鎺ヨ 奼傦紝閫氳繃灝嗘敼琛屽唴瀹逛慨鏀逛負listen_addresses='*'鏉ュ厑璁告暟鎹搴撴湇鍔″櫒鐩戝惉鏉ヨ嚜浠諱綍涓繪満鐨勮繛鎺ヨ鋒眰錛
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost', '*' = all
# (change requires restart)
淇鏀逛箣鍚庯紝淇濆瓨騫墮鍑猴紝鐒跺悗閲嶈搗鏁版嵁搴擄紝灝卞彲浠ュ湪鍦ㄨ繙紼嬫満鍣ㄤ笂璁塊棶PostgreSQL鏁版嵁搴撲簡銆
鍙﹀栵紝鏁版嵁搴撶$悊灝忚創澹錛
matrix鏁版嵁搴撲嬌鐢ㄧ殑鏄疨ostgreSQL鏁版嵁搴撱備綘鍙浠ュ畨瑁呬竴涓綾諱技phpmyadmin鐨勭$悊
⑵ 如何設置PostgreSQL允許被遠程訪問
通過以上設置後,遠端及其無法訪問此資料庫,因此,需要修改postgreSQL資料庫配置來實現遠程訪問。具體操作如下:
修改/opt/postgres/9.1/data/postgresql.conf文件如斗的內容:
監聽任何地址的訪問,修渣中磨改連接許可權:
#listen_address = 『localhost』培悄 修改為listen_address = 『*』
啟用密碼驗證
#password_encryption = on 修改為 password_encryption = on
修改/opt/postgres/9.1/data/pg_hba.conf文件的內容:
可訪問的用戶ip段
在文件末尾加入:host all all 0.0.0.0/0 md5
重啟postgreSQL資料庫:sudo /etc/init.d/postgresql-9.1-openscg restart
⑶ c璇璦涓璁塊棶鏁版嵁搴撻兘鐢ㄥ埌浜嗗摢浜涚被錛
鍦–璇璦涓錛岃塊棶鏁版嵁搴撻氬父娑夊強浣跨敤鏁版嵁搴撴搷浣滃簱錛岃繖浜涘簱鎻愪緵浜嗕竴浜涚被鍜屽嚱鏁版潵鎵ц屾暟鎹搴撴搷浣溿傛渶甯哥敤鐨勬暟鎹搴撴搷浣滃簱鏄疧DBC錛圤pen Database Connectivity錛夛紝瀹冨厑璁鎬嬌鐢ㄦ爣鍑嗙殑API鎺ュ彛鏉ヨ繛鎺ュ拰鎿嶄綔涓嶅悓綾誨瀷鐨勬暟鎹搴撱備互涓嬫槸鍦–璇璦涓璁塊棶鏁版嵁搴撴椂鍙鑳芥秹鍙婄殑涓浜涚被鍜岀浉鍏蟲傚康錛
1. **ODBC API錛** ODBC API鏄鏁版嵁搴撹塊棶鐨勬牳蹇冿紝瀹冩彁渚涗簡涓緋誨垪鍑芥暟鐢ㄤ簬榪炴帴鏁版嵁搴撱佹墽琛孲QL鏌ヨ銆佽幏鍙栨煡璇㈢粨鏋滅瓑鎿嶄綔銆
2. **鏁版嵁搴撹繛鎺ョ被錛** 鏁版嵁搴撹繛鎺ョ被鐢ㄤ簬寤虹珛鍜岀$悊涓庢暟鎹搴撶殑榪炴帴銆傚湪ODBC涓錛屽彲浠ヤ嬌鐢╜SQLHDBC`鏁版嵁綾誨瀷琛ㄧず鏁版嵁搴撹繛鎺ュ彞鏌勩
3. **SQL璇鍙ユ墽琛岀被錛** 榪欎簺綾葷敤浜庢墽琛孲QL鏌ヨ㈣鍙ワ紝鍖呮嫭SELECT銆両NSERT銆乁PDATE銆丏ELETE絳夈傚彲浠ヤ嬌鐢╜SQLExecDirect`鍑芥暟鎵ц孲QL璇鍙ャ
4. **緇撴灉闆嗙被錛** 褰撴墽琛孲ELECT鏌ヨ㈡椂錛屼細鐢熸垚涓涓緇撴灉闆嗭紝琛ㄧず鏌ヨ㈢粨鏋溿傚彲浠ヤ嬌鐢╜SQLHSTMT`鏁版嵁綾誨瀷琛ㄧず緇撴灉闆嗗彞鏌勶紝騫朵嬌鐢╜SQLFetch`鍑芥暟鑾峰彇緇撴灉闆嗕腑鐨勬暟鎹銆
5. **閿欒澶勭悊綾伙細** 鐢ㄤ簬澶勭悊鏁版嵁搴撴搷浣滀腑鐨勯敊璇鍜屽紓甯搞傚彲浠ヤ嬌鐢╜SQLHENV`鏁版嵁綾誨瀷琛ㄧず鐜澧冨彞鏌勶紝騫朵嬌鐢╜SQLError`鍑芥暟鑾峰彇閿欒淇℃伅銆
6. **鍙傛暟鍖栨煡璇㈢被錛** 鐢ㄤ簬鎵ц屽弬鏁板寲鐨凷QL鏌ヨ錛岄槻姝SQL娉ㄥ叆絳夊畨鍏ㄩ棶棰樸
7. **浜嬪姟綆$悊綾伙細** 鐢ㄤ簬綆$悊鏁版嵁搴撶殑浜嬪姟鎿嶄綔錛屽寘鎷鎻愪氦鍜屽洖婊氫簨鍔°
8. **鏁版嵁搴撹繛鎺ユ睜綾伙細** 鏁版嵁搴撹繛鎺ユ睜鐢ㄤ簬綆$悊澶氫釜鏁版嵁搴撹繛鎺ワ紝鎻愰珮鎬ц兘鍜岃祫婧愬埄鐢ㄧ巼銆
闇瑕佹敞鎰忕殑鏄錛孋璇璦鏈韜騫舵病鏈夌被鐨勬傚康錛岃屾槸浣跨敤緇撴瀯浣撱佹寚閽堝拰鍑芥暟絳夋潵瀹炵幇闈㈠悜瀵硅薄鐨勫姛鑳姐傛暟鎹搴撴搷浣滃簱浼氭彁渚涗竴浜涙暟鎹綾誨瀷鍜屽嚱鏁版潵灝佽呮暟鎹搴撶浉鍏蟲搷浣滐紝浣嗚繖浜涘苟涓嶆槸浼犵粺鎰忎箟涓婄殑綾匯傚湪瀹為檯寮鍙戜腑錛屽彲浠ユ牴鎹鎵浣跨敤鐨勬暟鎹搴撴搷浣滃簱鐨勬枃妗e拰紺轟緥鏉ヤ簡瑙e備綍榪涜屾暟鎹搴撴搷浣溿
⑷ VC中如何正確使用ADO
資料庫與資料庫編程:
當前各種主流資料庫有很多,包括Oracle, MS SQL Server, Sybase, Informix, MySQL, DB2,
Interbase / Firebird, PostgreSQL, SQLite, SAP/DB, TimesTen, MS ACCESS等等。資料庫編程是對資料庫的創建、讀寫等一列的操作。資料庫編程分為資料庫客戶端編程與資料庫伺服器端編程。資料庫客戶端編程主要使用ODBC API、ADO、ADO.NET、OCI、OTL等方法;資料庫服務端編程主要使用OLE DB等方法。
資料庫編程需要掌握一些訪問資料庫技術方法,還需要注意怎麼設計高效的資料庫、資料庫管理與運行的優化、資料庫語句的優化。
創建一個Connection對象
打開數據源,建立同數據源的連接
執行一個SQL命令
使用結果集
終止連接
連接對象(Connection)
命令對象(Command)
記錄集對象(RecordSet)
ADO編程的一般步驟:
ADO最重要的三個對象:
在使用這三個對象的時候,需要定義與之相對應的智能指針:_ConnectionPtr、_CommandPtr、_RecordsetPtr
使用智能指針要:定義指針變數、創建其實例(實例化)、調用方法和屬性。該智能指針在析構對象時,自動調用Release方法,即使用後不需要手動釋放內存,代碼更加簡潔。
但需要調用Close方法,關閉連接Connection或者記錄集RecordSet。
⑸ 如何用命令打開postgresql資料庫
F:\PostgreSQL\9.2\bin>psql.exe -h localhost -U postgres -d Test -p 5432psql (9.2.4)輸入 "help" 來獲取幫助信息.Test=#Test=# help;您正在使用psql, 這是一種用於訪問PostgreSQL的命令行界面鍵入: \right 顯示發行條款 \h 顯示 SQL 命令的說明 \? 顯示 pgsql 命令的說明 \g 或者以分號(;)結尾以執行查詢 \q 退出注: 資料庫名稱區分大小寫的。使用某些有密碼的用戶的情況下, 會提示輸入密碼.F:\PostgreSQL\9.2\bin>psql.exe -h localhost -U test -d Test -p 5432用戶 test 的口令:psql (9.2.4)輸入 "help" 來獲取幫助信息.Test=#