#ODBC驱动安装(Linux)
本文以Centos 7.3.1为例,介绍YashanDB ODBC驱动在该环境下的安装配置过程。
# 步骤1:安装unixODBC
yum install unixODBC-devel
yum install unixODBC
# 步骤2:安装YashanDB C驱动
# 步骤1:下载C驱动安装包
从YashanDB官网下载中心 (opens new window)或联系我们的技术支持获取对应的软件包。
将YashanDB客户端安装包下载并解压到本地路径,例如/home/yasdb-driver-c/。
安装包解压后可得到C驱动所需文件:
bin:C驱动的可执行文件(目前包括yasql)。
C驱动的头文件:位于include文件夹中。
C驱动的库文件:位于lib文件夹中。
# 步骤3:安装YashanDB ODBC驱动
从YashanDB官网下载中心 (opens new window)或联系我们的技术支持获取对应的软件包。
将ODBC驱动安装包下载并解压到本地路径,例如/home/yashandb_odbc/。
安装ODBC驱动(so路径仅为示例,请使用实际的libyas_odbc.so路径)。
$ vi /etc/odbcinst.ini [YashanDB] Description = ODBC for YashanDB Driver = /home/yashandb_odbc/libyas_odbc.so Setup = /home/yashandb_odbc/libyas_odbc.so Driver64 = /home/yashandb_odbc/libyas_odbc.so Setup64 = /home/yashandb_odbc/libyas_odbc.so FileUsage = 1
# 步骤4:配置数据源
$ vi /etc/odbc.ini
[YASTEST]
Description = YashanTest
Driver = YashanDB
SERVER = 127.0.0.1
PORT = 1688
URL = 127.0.0.1:1688
USER = sys
PWD = sys
配置项中的URL为数据源的完整URL。配置URL参数后,SERVER和PORT参数将不会再生效。
URL格式如下:
单地址连接:
host:port。多个地址连接:
serverType:host:port,host:port,host:port,host:port,多个地址间用,分隔,连接时根据服务类型(serverType参数)配置对相应节点进行连接。多组地址连接:
serverType:host:port,host:port;host:port,host:port,多组地址间用;分隔,同组内的多个地址间用,分隔,连接时先在组内根据serverType配置对相应节点进行连接,当组内所有连接均失败后按顺序优先级(越靠前优先级越高)访问下一组。
参数含义:
host:port:
serverType:多地址连接的连接类型,可选项包括primary、standby、loadBalance、primaryLoadBalance以及standbyLoadBalance。若不指定serverType,在输入多IP时默认采用primary。各类型的详细介绍如下:
serverType 说明 primary 按顺序优先级连接主节点,驱动将按照指定的监听地址先后顺序对节点进行角色判断并连接首个主节点。
默认类型,可省略。standby 按顺序优先级连接备节点,驱动将按照指定的监听地址先后顺序对节点进行角色判断并连接首个符合要求的节点。 loadBalance 负载均衡连接最优节点,驱动将自动识别出连接数最少的节点并连接。 primaryLoadBalance 负载均衡连接最优的主节点,驱动会先判别节点角色,再识别出连接数最少的主节点进行连接。若连接数相同,则按优先级顺序连接靠前的节点。 standbyLoadBalance 负载均衡连接最优的备节点,驱动会先判别节点角色,再识别出连接数最少的备节点进行连接。若连接数相同,则按优先级顺序连接靠前的节点。
Note:
此处可进行字符集设置(前提是使用ANSI驱动,Linux默认ANSI ODBC字符集是UTF8),可使用以下数据源配置设置字符集:
# 目前支持的字符集有:ASCII、ISO88591、GBK、UTF8、UTF16、GB18030
CHARACTER_SET = UTF8
# 步骤5:测试连接
# 数据源名称以yastest为例
$ isql yastest -v
# 查看数据源名称
$ odbcinst -q -s
# 查看驱动名称
$ odbcinst -q -d
# 查看驱动配置
$ odbcinst -j
# 步骤6:(可选)使用yasodbc自带test程序测试连接
执行yasodbctest,数据源名称以yastest为例。
$ ./yasodbctest yastest sys sys
# 或者
$ ./yasodbctest yastest
使用exit退出。
> exit


