1.概述
unixODBC:为非Windows平台提供ODBC而创建,成为非Windows上ODBC的最终标准平台。包括:
1.应用程序:执行处理并调用ODBC函数以提交SQL语句并检索结果。
2.驱动程序管理器:代表应用程序加载和卸载驱动程序。处理ODBC函数的调用,并将其传递给驱动程序。
3.驱动程序:处理ODBC函数的调用,将SQL请求提交到数据源,并将结果返回给应用程序。
4.数据源:ODBC与数据库之间建立连接的依据,包括数据源名称、描述、驱动程序等。
2.unixODBC搭建
1.下载安装包
2.解压安装包,并进入目录中
3.使用./configure配置Makefile文件指定安装目录
4.使用make -j 32编译。
5.安装:make install
3.unixODBC使用
1.配置ini文件:
生成方式:
1.手动编写.ini文件
2.使用工具odbcinst通过模板文件生成
生成odbcinst.ini:odbcinst -i -d -f template_file.ini
生成odbc.ini:odbcinst -i -s -f template_file.ini
格式:
[DSN/Driver] 数据源名称和驱动名称始终在[]中,并且每个文件中只能有一个。
Attribute_1=value_1 赋值运算符(“=”)两端的空格被忽略,其他地方的空格逐字获取。
odbcinst.ini:包含用户可访问的ODBC驱动信息。指定驱动位置以及新建驱动名。
[Kingbase]
Description = kingbase driver for Linux & Win32
Driver = /usr/local/lib/kdbodbcw.so
Setup = /usr/local/lib/kdbodbcw.so
…
odbc.ini:记录连接到服务器所需要的驱动信息(odbcinst.ini)和数据库信息。根据数据库服务器进行DSN,IP, 用户名,密码,端口号的设置。
[Kingbase8]
Description = Test to Kingbase
Driver = Kingbase
Trace = Yes
TraceFile = sql.log
Database = nick
Servername = localhost
UserName = SYSTEM
Password = xxxx
Port = 54321
在windows下配置DSN
1)搜索找到odbc资源管理器。
2)点击添加按钮新建DSN。
3)依次配置,数据源(DSN名称),数据库服务器IP,数据库名,端口号,用户名,密码。
注意:上述设置数据源时,相应参数应与服务端配置的一致。
2.查看配置文件的路径:
使用指定的配置文件:通过添加配置文件路径
export ODBCSYSINI=.
export ODBCINSTINI=./odbcinst.ini
export ODBCINI=./odbc.ini
注:文件路径最好为unixODBC安装路径下的/ect。 使用/bin/odbcinst -j进行目录的查看。确保配置文件的路径正确。或者通过获取环境变量查看: $ODBCSYSINI+$ODBCINSTINI = odbcinst.ini文件路径+文件名 $ODBCSYSINI+$ODBCINI = odbc.ini文件路径+文件名
3.使用isql和DSN连接
isql作用:允许用户以命令行交互或批量执行SQL
概要:isql DSN [USER [PASSWORD]] [options]
DSN:用于连接到SQL数据库的数据源名称
USER:用于连接数据库的用户
PASSWORD:访问用户数据库的密码
options:连接选项
isql 在不使用配置文件的情况下,连接数据库
使用isql的-k选项:isql -v -k "Driver=KingbaseES8.6;Database=userbase;Servername=0.0.0.0;Username=user;Password=xxxx;Port=54321"
注意:使用上述-k选项相当于将配置文件的内容使用命令行配置
5.排查通过isql连接数据库报错
1)通过查看连接之后的结果反馈检查
2)可通过查看数据库服务器的运行日志进行报错检查
参考资料
提供该题目相关内容在产品手册中可以系统 《 KingbaseES客户端编程接口指南-ODBC》