人大金仓 unixODBC简介

185 阅读3分钟

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+ODBCSYSINI+ODBCINSTINI = odbcinst.ini文件路径+文件名 ODBCSYSINI+ODBCSYSINI+ODBCINI = odbc.ini文件路径+文件名

3.使用isql和DSN连接

isql作用:允许用户以命令行交互或批量执行SQL

概要:isql DSN [USER [PASSWORD]] [options]

DSN:用于连接到SQL数据库的数据源名称

USER:用于连接数据库的用户

PASSWORD:访问用户数据库的密码

options:连接选项

  1. 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》

更多信息,参见help.kingbase.com.cn/v8/index.ht…