最近搞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(当然,这俩楼主都装了)的配置说明如下:
楼主的/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,可以看到
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如下:
点击添加,可以看到:
数据库驱动自动识别,感觉应该是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 选项