linux 搭建unixODBC ,并对接 PostgreSQL 9.3.4

环境:suse 11 ,64位的操作系统

unixODBC 版本:2.3.2

PostgreSQL 9.3.4

1 编译安装 unixODBC

下载 unixODBC :http://www.unixodbc.org/download.html

解压编译

tar -zxvf unixODBC-2.3.2.tar.gz 

cd unixODBC-2.3.2

./configure --prefix=/opt/unixODBC

make && make install

安装路径设置在 /opt/unixODBC

2 下载postgresql 的odbc rpm 包

下载地址:http://rpm.pbone.net/index.php3/stat/4/idpl/23893919/dir/opensuse_11.x/com/unixODBC-2.2.12-200.123.1.x86_64.rpm.html

当然,还有很多其他系统版本的postgresql 的odbc 驱动,http://rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/libodbcpsqlS.so.1%28%29%2864bit%29

3 安装下载rpm 包

rpm -ivh unixODBC-2.2.12-200.123.1.x86_64.rpm

如果安装时候说有依赖的rpm 没有安装,可以忽略缺省的rpm ,强行安装此rpm

rpm -ivh --nodeps unixODBC-2.2.12-200.123.1.x86_64.rpm

安装后,驱动应该在 /usr/lib64/unixODBC

你可以自己手工find 一下,检查odbc 的驱动存放在哪里

find /usr/ -iname "*odbc*.so*" | grep psql

我这样的显示的是

/usr/lib64/unixODBC/libodbcpsqlS.so

/usr/lib64/unixODBC/libodbcpsql.so

PostgreSQL 情况

PostgreSQL 版本为9.3.4 ,数据库为 foo ,使用用户为 sdbadmin,服务端口为5432

PostgreSQL里存在两张表,一张是PostgreSQL 自身的表test ;

一张是PostgreSQL 的外部表 chen,对接的是SequoiaDB 的数据源(如何实现PostgreSQL对接SequoiaDB,可以参考:http://www.sequoiadb.com/index.php?p=whitepaper_7)

4 配置unixODBC ,适配PostgreSQL 服务

修改odbcinst.ini文件

vi /opt/unixODBC/etc/odbcinst.ini

odbcinst.ini

[ODBC]

Trace = yes

TraceFile = /opt/unixODBC/sql.log
UsageCount = 2

[PostgreSQLODBC]

Description = PostgreSQL driver for linux

Driver = /usr/lib64/unixODBC/libodbcpsql.so
Setup = /usr/lib64/unixODBC/libodbcpsqlS.so
FileUsage = 1

CPReuse = 5

CPTimeout = 5

UsageCount = 2

配置odbc.ini 文件

vi /opt/unixODBC/etc/odbc.ini

odbc.ini

[Postgres]

Driver = PostgreSQLODBC

Description = Test on PostgreSQL
Database = foo
Servername = 192.168.1.155

UserName = sdbadmin

Port = 5432

ReadOnly = No

加载配置文件

/opt/unixODBC/bin/odbcinst -i -d -f /opt/unixODBC/etc/odbcinst.ini

5 启动odbc 进行连接测试

/opt/unixODBC/bin/isql -v Postgres

查询 test 表和 chen表

能成功查询出来数据了

参考博客:

http://www.unixodbc.org/odbcinst.html

http://linux.vbird.org/linux_basic/0520rpm_and_srpm.php

时间: 2024-11-13 08:57:56

linux 搭建unixODBC ,并对接 PostgreSQL 9.3.4的相关文章

linux 搭建https 服务器 (apache)

一.  安装准备 1.    安装Openssl 要使Apache支持SSL,需要首先安装Openssl支持.这里使用的是openssl-0.9.8k.tar.gz 下载Openssl:http://www.openssl.org/source/ tar -zxf openssl-0.9.8k.tar.gz    //解压安装包 cd openssl-0.9.8k                 //进入已经解压的安装包 ./config                          //配

Gerrit服务器的搭建(Git+Gerrit+PostgreSQL+LDAP)

Gerrit简介 Gerrit是搭建在Git之上的基于Web的代码审查工具.大家都知道Git是一个分布式的代码版本管理工具,常用于多人协作开发的工作环境中,程序员将自己修改的代码提交到本地版本库,然后再push到远程的中央版本库中,见图1.这个过程中,代码的提交是没有经过审核的,对于分布在多个地点的团队来说,不能互相审查.评论其他人的代码,非常不利于代码质量的控制.而Gerrit就是用来进行代码审查的工具,程序员push到中央版本库的代码,首先要经过团队中Reviewers的审查,被接受后才会真

elasticsearch搭建与zabbix对接

一. 搭建elasticsearch 上传jdk-8u181-linux-x64.tar.gz和elasticsearch-6.1.4.tar.gz文件到系统任意目录, 安装java解压jdk-8u181-linux-x64.tar.gz文件tar -zxvf jdk-8u181-linux-x64.tar.gz 编辑profile文件,添加jdk环境变量vim /etc/profile 在最后添加#JDK环境变量 JAVA_HOME=/usr/local/jdk1.8.0_181 CLASSP

记第一次用Linux搭建LAMP环境

本文为日记,并非技术博客. 嗯,没错,我决定学习linux系统了.虽然不是第一次接触命令行,不过还是挺有压力的.看了两天的Linux基础视频就开始动手搭建自己的LAMP环境. 关于为什么开始接触Linux呢,主要是最近一直在学前端的知识,想换换口味....以前自己写的小网站也都是用windows下的IIS发布的,所以心血来潮决定试试搭建一个Linux的WEB服务器.既然搭建的是WEB服务器,那么首选自然是LAMP环境,也就是Linux+apache+mysql+php啦.至于为什么是LAMP,当

Linux搭建DNS服务器

DNS相关概念 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析).DNS协议运行在UDP协议之上,使用端口号53. 作用:解析域名 区域:正向区域.反向区域 记录: A记录 MX记录:搭建邮件服务器 PTR记录:反向记录,出现在反向区域中 CNAME记录:别名记录 NS记录:DNS授权服

Linux搭建SVN 服务器

Linux搭建SVN 服务器 1          安装SVN 2          使用客户端连接 2.1       使用windows的客户端 2.2       使用Linux下的命令行 3          FAQ 3.1       命令行方式连接,提示svn: No repository found in 'svn://192.168.11.229/project'错误? 3.2       执行命令# svn co svn://192.168.11.229/project时提示“

Linux 搭建SVN 服务器

一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中. 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动. 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史. SVN中的一些概念 : (1). repository(源代码库) 源代码统一存放的地方 (2). Checkout (提取) 当你手上没有源代码的时候,你需要从r

Linux搭建DNS二 多域名解析

Linux搭建DNS二 多域名解析继续上一篇文章svr5 服务端 Centtos6 192.168.4.5pc205 客户端 Centos6 192.168.4.405域名hellc.cnhellc.com.cn---------------------------------------- 添加hellc.cn区域 (在配置文件追加) [[email protected] ~]# vim /etc/named.conf options {        directory   "/var/na

linux搭建web服务器

linux httpd 假设服务器地址为192.168.80.20/24 1.   将准备安装的httpd软件包共享给everyone , (1)在linux上mount.cifs  //真机IP地址/共享文件夹名   /media / ls  /meidia/ 查看 tar    xjvf   httpd-2.4.10.tar.bz2    -C  /usr/src       解压至/usr/src下 下面两个插件是httpd2.4以后的版本所需要的 http://ftp.jaist.ac.