驱动版本信息获取

神通数据库的ODBC从v3.0.20 (含)版本后更高版本支持通过直接执行ODBC库的方式获得版本号、编译器版本等信息,打印的信息项目各版本可能有所变化。

Linux下获取方式

直接执行odbc动态库文件,比如:

/opt/ShenTong/drivers/odbc/lib/liboscarodbc.so

或者

/opt/ShenTong/drivers/odbc/lib/liboscarodbcw.so

会打印类似如下信息:

Version : ODBC 3.0.20 (64bit)(build 211931 020) for Linux gcc 4.4.8

环境需求:

由于此功能依赖操作系统的ld库,但各个平台和操作系统的ld库版本不同,且做的软链接也不同,因此部分平台直接执行liboscarodbc.so库可能报错,比如:

[root@localhost lib]# ./liboscarodbc.so

-bash: ./liboscarodbc.so: /lib64/ld-linux.so: bad ELF interpreter: 没有那个文件或目录

提示需要/lib64/ld-linux.so文件,而一般在操作系统的/lib64目录下肯定有ld-2-.so这个库,将这个库做一个ld-linux.so链接即可(ln -s ld-2-.so /lib64/ld-linux.so),再次执行liboscarodbc.so即可正确执行。

各个平台依赖的ld库的路径一般不同,如果执行出错,请根据错误信息做软链接,odbc中对各个平台下的ld软链接要求:

x86-64 : /lib64/ld-linux-x86-64.so.2

x86-32 : /lib/ld-linux.so.2

arm-64 : /lib64/ld-linux-aarch64.so.1

mipsel-64 : /lib64/ld.so.1

loongarch-64 : /lib64/ld-linux-loongarch64.so.1

sw-64 : /lib/ld-linux.so.2

Windows下获取方式

windows下通过rundll32.exe去执行,在64位操作系统中,c:\Windows\System32\rundll32.exe是64位的,c:\Windows\SysWOW64\rundll32.exe下是32位的。执行方式入下,打开一个cmd窗口,并进入OSCARODBC.dll所在目录中去:

rundll32.exe OSCARODBC.dll,__get_info 或 rundll32.exe OSCARODBCW.dll,__get_info

执行完成后,会在当前工作目录中生成odbc_info.txt的文件,注意odbc_info.txt生成在工作目录,如果cmd当前的目录是c:\,则odbc_info.txt生成在c:\odbc_info.txt。