欢迎光临散文网 会员登陆 & 注册

UnixODBC使用指南(以PHP为例)

2021-09-13 19:45 作者:CSDN首席喷子  | 我要投稿

使用UnixODBC可以有效屏蔽不同数据库在数据连接层面上的区别。注意其对SQL层次上的区别无能为力,这种情况需要一个ORM。


在Unix/Linux上,ODBC不是一个系统服务,为使PHP能够使用UnixODBC,需在编译PHP时指定UnixODBC的位置,此后PHP即可在此处寻找ODBC库,不会使用操作系统提供的UnixODBC。


以PostGRE为例,从官网上下载ODBC驱动并编译安装后,首先对/{PREFIX}/etc文件夹下的驱动配置文件odbcinst.ini进行配置:

[pg]

Description = PostgreSQL Driver

Driver = /home/user/Software/database/unixODBC/pg/lib/psqlodbcw.so

Setup = /home/user/Software/database/unixODBC/pg/lib/psqlodbcw.so

Threading = 1


现在,这个自行定义的驱动的名字就叫pg。PostGRE提供了两个驱动,即ANSI编码的psqlodbca.so和Unicode的psqlodbcw.so,一般使用Unicode版本。随后对/{PREFIX}/etc/odbc.ini中的DSN进行配置:

[mydb]

Description = pg/SQL DSN

Driver = pg

Username = su

Password = 1234

Servername = 127.0.0.1

Port = 5432

Database = somedb


Servername就是服务器的域名。ODBC驱动会去连接127.0.0.1上名为somedb的数据库。数据库必须首先创建好。现在可以运行/{PREFIX}/bin/isql mydb查看连接情况:

isql数据库管理工具

如果想要记录ODBC日志,可在odbcinst.ini中添加:

[ODBC]

Trace = YES

TraceFile = /home/user/Software/database/unixODBC/log/log.txt


此时即可在Linux环境下,如Windows操作系统中一样使用ODBC:

$conn = odbc_connect("mydb");



UnixODBC使用指南(以PHP为例)的评论 (共 条)

分享到微博请遵守国家法律