小弟刚接触数据库这一块,用的是SQL Server 2000,现在要改成PostgreSQL,用以前的连接方式不能够连接数据库了,想请教各位大侠。
_bstr_t strConnect = "Provider=SQLOLEDB.1;Persist Securtiy info = TRUE;Password=sa;User ID=postgres;Initial Catalog=学生;";这时我在SQL Server 2000上用的语句,如何修改能够连接PostgreSQL?

解决方案 »

  1.   

    VC开发时(其他环境其实时一样的,而且类似的例子多得要命),首先在postgresql的安装目录下的 include中找到 libpq-fe.h的头文件,在lib中会有一个名为“MS”的文件夹,这个非常重要,如果找不到。那么说明安装时的开发组件没有装全,在这个文件夹中有一个“libpq.lib”的库文件这个是在windows环境下用到的库文件,不要将其中的“libpq.a”这个linux下的库添加到工程中来,这样会导致memory crash的(而且编译时不会出错,系统还认其中对数据库操作的函数噢,不可小视!)。。对,接下来就把这两个文件拷贝到当前工作目录里,或者将路径设置好就行了,可能还要拷贝进来一个头文件,编译时会提示的(小case了),可以了。。接下来,就可以进行数据库的连接。查询了,查询时注意字符串的细节问题。。#include <libpq-fe.h>  char              * string_for_query;; PGconn        *conn_pointer; PGresult       *result; char       *pghost,              *pgport,              *pgoptions,              *pgtty;              *dbName;              *username;              *password; pghost       =     “localhost”;      //IP address string is also ok        pgport        =     ”5432″;              pgoptions   =      NULL;           pgtty          =      NULL;               dbName     =      “student_db”;     username   =      “postgres”;      //postegres is the username that                                                //set when installed postgresql it can be read                                               // from registry  password   =        “11111″    //set when insalled cannot get directly  int main()  {      Conn_pointer=PQsetdbLogin(pghost, pgport, pgoptions, pgtty, dbName, username, password);      if (PQstatus(conn) == CONNECTION_BAD)             {                      printf(”cannot connect to the database! “);return -1;}string_for_query=”select * from student”;//SQL query…………}
      

  2.   

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

  3.   

    http://www.rubylong.cn/download.htm
    PostgreSQL OLE DB 驱动
      

  4.   

    安装驱动,用ADO连接,不会不知道怎么连接数据库吧?
    1楼已经有现成的代码了,自己试试
      

  5.   

    _bstr_t strConnect = "Provider=PostgreSQL OLE DB Provider;Data Source=myServerAddress;location=myDataBase;User ID=myUsername;password=myPassword;";改一下你的连接字符串。另外你需要下载安装相应的PSQL驱动pSQL的手册中有相应的例子。你可以参考一下。
      

  6.   

    http://pgfoundry.org/frs/?group_id=1000071&release_id=211可到此网站去下驱动,自动安装.