Fedora13下为postgresql添加ODBC驱动过程

        最近搞DTL,很无聊的在windows下,vc6和vs08都试了,MinGW也试了,想了想,很怀念Fedora,于是决定在Fedora上配置下postgresql的ODBC,so ,let't go 

        一、安装和配置postgresql

        参考http://www.l4m3.com/2010/09/installing-postgresql-in-fedora-13/   fedora下和ubuntu下有很多不同,比如安装软件,一般就用su -(用su进入后,编辑一些/etc下文件会有报错)比如:


     进入root后安装:

yum groupinstall "PostgreSQL Database"
yum install pgadmin3
配置postgresql:
service postgresql initdb
然后/var/lib/pgsql/data下才有如下东东

[root@localhost data]# ls
base     pg_hba.conf    pg_stat_tmp  pg_twophase  postgresql.conf
global   pg_ident.conf  pg_subtrans  PG_VERSION
pg_clog  pg_multixact   pg_tblspc    pg_xlog

service postgresql start
    其余完全参照以上链接即可,如果postgres提示输入密码错误,请留言,楼主正好也碰到然后搞定了。

    其它操作,如添加用户和数据库,则与ubuntu一致,就不说了。

    此时进入dtl编译,会出现如下错误:

error: invalid use of incomplete type ‘structdtl::tagTIMESTAMP_STRUCT’

用vc6的工程查看,tagTIMESTAMP_STRUCT定义于sqltypes.h,觉得应该是unixodbc未安装,于是进入下一步

      二、安装unixODBC包

       ubuntu下,unixodbc主要是2个包:unixodbc和unixodbc-dev,即unixodbc驱动及其开发包,在ubuntu下,这2个包对应的改变为unixODBC和unixODBC-devel(不是libunixODBC-devel)

      当然,可以如上面用yum search 查找,这是个好命令啊,也可以通过http://www.rpmfind.net查找。不过,用rpmfind网站找到的,还得自己猜测包名,虽然一般都是直接去掉版本号即可。  

      yum search后

    

      然后安装

[root@localhost ~]# yum install unixODBC
[root@localhost ~]# yum install unixODBC-devel
      注意的是,这里的odbc是大写的

     三、安装postgresql的odbc驱动

     在ubuntu下,驱动包为odbc-postgresql,而在fedora13下,为postgresql-odbc,于是安装

[root@localhost ~]# yum install postgresql-odbc
     此时,再去dtl中make,就能顺利通过编译生成libDTL.a了     

     四、配置ODBC驱动

     1、文件配置

       参考:http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/IODBCRubyHOWTO  需要注意的是,在Ubuntu中odbc驱动及安装文件在/ust/lib/odbc下,fedora13下在/usr/lib目录中。

      fedora下自动已经生成了postgresql和mysql(当然,这俩楼主都装了)的配置说明如下:

Fedora13下为postgresql添加ODBC驱动过程_第1张图片

    楼主的/etc/odbc.ini 如下:

[ODBC Data Sources]
pgdata = Native PostgreSQL ODBC driver
[pgdata]
Driver=/usr/lib/psqlodbc.so
Host       = localhost
Server      = localhost
ServerName = localhost
Database   =example
UserName  = sa
UID        = sa
PWD        = 123   
Port       = 5432
运行iodbctest,可以看到

Fedora13下为postgresql添加ODBC驱动过程_第2张图片

     2、图形化配置

     Ubuntu下有iodbcadm-gtk,于是搜fedora下的odbc管理
http://mryufeng.iteye.com/blog/368490  知道有ODBCConfig,一搜http://www.unixodbc.org/config.html ,看来界面还很不错,于是搜包:

http://www.rpmfind.net/linux/rpm2html/search.php?query=ODBCConfig+&submit=Search+...&system=&arch= ,知道包名

    于是安装

[root@localhost ~]# yum install unixODBC-kde
然后通过普通用户启动

[xia@localhost ~]$ ODBCConfig
如下:

点击添加,可以看到:

Fedora13下为postgresql添加ODBC驱动过程_第3张图片

数据库驱动自动识别,感觉应该是fedora下yum的功能,因为/etc/odbcinst.ini也是自动识别出来

而最初通过odbc.ini添加的数据源则安静的躺在system里面,如下:

      至此,搞定


      就个人使用而言,fedora的可用性的确没有ubuntu的好,比如修改较近的软件源,fedora就得修改文件,而ubuntu只需要选交大还是北京交通还是中科大还是电子科大,不过感觉fedora更适合开发,虽然界面没有ubuntu的炫,不过自动安装的Development tools等东东,还是很强大的,用起来感觉也更稳定。(f13修改软件源才考http://www.huomo.cn/os/article-1848a.html )

     遇到很多问题,去搜,才发现,ubuntu的推广,真的是很成功的,如同搜数据库,一般都是mysql的,搜linux的东东,一般都是ubuntu的最多。fedora还是不错滴啊,起码这字体看着不像ubuntu的那么诡异。话说,我wmvare下的ubuntu11.04,为毛那么丑,幸好另一个ubuntu10.10没升级,哎

     另外,fedora下安装中文的,可以参考http://blog.csdn.net/simtwo/article/details/6326724 ,需要先安装ibus,system->preference下才有input method 选项

你可能感兴趣的:(数据库,struct,ubuntu,search,PostgreSQL,pgadmin)