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=#