可通过ODBC连接多种数据库,如DM数据库、ORACLE数据库等
若程序需要与数据库进行交互(连接数据库、执行某些SQL等),可以通过配置ODBC实现
ODBC配置成功后,应用程序便拥有了与数据库交互的接口,两者便能交互
odbc的下载及配置连接步骤如下
- 下载odbc这款软件(http://www.unixodbc.org/)
具体步骤暂时略过 - 安装相应数据库提供的odbc驱动
要通过odbc连接oracle数据库,就下载oracle提供的odbc驱动
要通过odbc连接dm数据库,就下载dm提供的odbc驱动
例如:
使用odbc连接oracle12c,需要下载以下两个文件
instantclient-basic-linux.x64-12.2.0.1.0.zip
instantclient-odbc-linux.x64-12.2.0.1.0-2.zip
下载地址:
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
- 配置用户的$LD_LIBRARY_PATH参数
需要正确配置LD_LIBRARY_PATH,使得操作系统能找到运行odbc和通过odbc连接数据库所需要的包 - 配置odbc
最后,编辑odbc配置文件,使得odbc可以连接你想要的数据库
主要包括以下两个文件(/etc/odbcinst.ini、 cat /etc/odbc.ini)
要想在dm8的服务器上,通过odbc连接oracle12c的数据库,由于没有安装oracle相关的东西,故用连接串连接oracle12c不方便,这里使用ip:port/db_name的方式连接
[oracle]
Description = ODBC for Oracle
Driver = /home/dmdba/soft/instantclient_12_2/libsqora.so.12.1
Database = orcl
Servername = 192.168.8.139:1521/orcl
UserID = DMHS
Password = dmhs
Port = 1521
注意:此处Driver使用了绝对路径,故无需配置/etc/odbcinst.ini
- 检查数据库提供的odbc驱动是否可用
若下载的odbc驱动不正确,或LD_LIBRARY_PATH,可能导致odbc无法连接数据库,需通过ldd命令,检查是否缺失依赖包
ldd /home/dmdba/soft/instantclient_12_2/libsqora.so.12.1
- 使用odbc连接数据库
/etc/odbc.ini配置的是[oracle],故使用oracle连接数据库
由于/etc/odbc.ini配置了用户密码,故无需输入用户密码
[dmdba@localhost soft]$ isql -v oracle
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+