一、環境信息
名稱 | 值 |
CPU | 12th Gen Intel(R) Core(TM) i7-12700H |
操作系統 | CentOS Linux release 7.9.2009 (Core) |
內存 | 4G |
邏輯核數 | 2 |
DM版本 | 1 ? ? ? ? ?DM Database Server 64 V8 2 ? ? ? ? ?DB Version: 0x7000c 3 ? ? ? ? ?03134284194-20240703-234060-20108 4 ? ? ? ? ?Msg Version: 12 5 ? ? ? ? ?Gsu level(5) cnt: 0 |
二、介紹
工作中我們經常遇到客戶需要使用ODBC連接數據庫,那配置ODBC數據源就成了必要的操作流程,今天我們來介紹一下配置ODBC數據源的步驟。
三、安裝步驟
1、解壓unixODBC安裝包
[root@bogon Pkg]# tar -xvf unixODBC-2.3.0.tar.gz
2、切換目錄
[root@bogon Pkg]# cd unixODBC-2.3.0/[root@bogon unixODBC-2.3.0]# pwd
/opt/Pkg/unixODBC-2.3.0
3、配置
[root@bogon unixODBC-2.3.0]# ./configure
4、編譯
[root@bogon unixODBC-2.3.0]# make
5、編譯安裝
[root@bogon unixODBC-2.3.0]# make install
UnixODBC默認安裝路徑為/usr/local。動態庫路徑為/usr/local/lib。
6、查看ODBC版本和配置信息
[root@bogon unixODBC-2.3.0]# odbcinst -j
unixODBC 2.3.0
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
7、odbcinst.ini配置
[root@bogon unixODBC-2.3.0]# cat /usr/local/etc/odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /opt/Dm8/bin/libdodbc.so
8、odbc.ini配置
[root@bogon unixODBC-2.3.0]# cat /usr/local/etc/odbc.ini
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = qwer1234S
TCP_PORT = 5236
9、測試ODBC數據源
[root@bogon unixODBC-2.3.0]# su - dmdba
上一次登錄:三 4月 9 15:34:23 CST 2025pts/1 上[dmdba@bogon ~]$ isql DM8 -v
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
大家記得切換到dmdba用戶執行測試命令。如果大家提示動態庫找不到之類的錯誤,可能是環境變量沒有配置,可以參考如下內容,配置完記得source一下此文件。
[dmdba@czg0 ~]$ cat /home/dmdba/.bash_profile
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programsPATH=$PATH:$HOME/.local/bin:$HOME/binexport PATHexport LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/Dm8/bin"
export DM_HOME="/opt/Dm8"
[dmdba@czg0 ~]$ source /home/dmdba/.bash_profile
如果還連接不上,可能是libdodbc.so連接的動態庫找不到導致的問題。
[dmdba@bogon ~]$ ldd /opt/Dm8/bin/libdodbc.solinux-vdso.so.1 => (0x00007ffc298ed000)libdmdpi.so => /opt/Dm8/bin/libdmdpi.so (0x00007f8830e5a000)libdmfldr.so => /opt/Dm8/bin/libdmfldr.so (0x00007f8830b27000)librt.so.1 => /lib64/librt.so.1 (0x00007f883091f000)libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f8830703000)libdl.so.2 => /lib64/libdl.so.2 (0x00007f88304ff000)libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f88301f7000)libm.so.6 => /lib64/libm.so.6 (0x00007f882fef5000)libc.so.6 => /lib64/libc.so.6 (0x00007f882fb27000)libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f882f911000)libdmjson.so => /opt/Dm8/bin/libdmjson.so (0x00007f882f6e2000)/lib64/ld-linux-x86-64.so.2 (0x00007f8831f68000)libdmutl.so => /opt/Dm8/bin/libdmutl.so (0x00007f882f4c7000)libdmelog.so => /opt/Dm8/bin/libdmelog.so (0x00007f882f257000)libdmos.so => /opt/Dm8/bin/libdmos.so (0x00007f882f021000)libdmcvt.so => /opt/Dm8/bin/libdmcvt.so (0x00007f882e8a3000)libdmmem.so => /opt/Dm8/bin/libdmmem.so (0x00007f882e690000)libdmstrt.so => /opt/Dm8/bin/libdmstrt.so (0x00007f882e482000)libdmcalc.so => /opt/Dm8/bin/libdmcalc.so (0x00007f882e1eb000)libdmdta.so => /opt/Dm8/bin/libdmdta.so (0x00007f882def4000)libdmcfg.so => /opt/Dm8/bin/libdmcfg.so (0x00007f882da8b000)libdmbcast.so => /opt/Dm8/bin/libdmbcast.so (0x00007f882d80a000)libdmmout.so => /opt/Dm8/bin/libdmmout.so (0x00007f882d530000)libdmcyt.so => /opt/Dm8/bin/libdmcyt.so (0x00007f882d30b000)libdmcpr.so => /opt/Dm8/bin/libdmcpr.so (0x00007f882d107000)libdmcomm.so => /opt/Dm8/bin/libdmcomm.so (0x00007f882ced3000)libdmdcrm.so => /opt/Dm8/bin/libdmdcrm.so (0x00007f882ccc6000)libdmshm.so => /opt/Dm8/bin/libdmshm.so (0x00007f882cac1000)libdmshmm.so => /opt/Dm8/bin/libdmshmm.so (0x00007f882c8bb000)libdmclientlex.so => /opt/Dm8/bin/libdmclientlex.so (0x00007f882c686000)libdmvtdskm.so => /opt/Dm8/bin/libdmvtdskm.so (0x00007f882c474000)libdmdcr.so => /opt/Dm8/bin/libdmdcr.so (0x00007f882c26b000)libdmvtdsk.so => /opt/Dm8/bin/libdmvtdsk.so (0x00007f882c063000)
?
?
?