注册
ODBC如何连接达梦数据库?
专栏/技术分享/ 文章详情 /

ODBC如何连接达梦数据库?

刘刘 2025/11/07 910 0 0
摘要

前提:

Linux服务器安装了unixODBC对应的包,建议把unixODBC-devel和unixODBC 一并安装。

问题:

1、假如我们有Linux的最大管理员权限。数据源是对于所有用户都可以访问,我们该如何配置呢?
2、假如我们有Linux的最大管理员权限。数据源对于所有用户都可以访问,但是用户名,密码不想让别人知道,如何配置呢?
3、假如我们没有Linux的最大管理员权限,数据源仅仅对于我们的数据库用户访问,该如何配置呢?

ODBC基本了解

安装完unixODBC后,可以通过命令查看

$ odbcinst -j unixODBC 2.3.1 DRIVERS............: /etc/odbcinst.ini SYSTEM DATA SOURCES: /etc/odbc.ini FILE DATA SOURCES..: /etc/ODBCDataSources USER DATA SOURCES..: /home/dmdba/.odbc.ini SQLULEN Size.......: 8 SQLLEN Size........: 8 SQLSETPOSIROW Size.: 8

通过上面的命令,我们可以很清晰的看到所涉及到的配置文件及配置文件(“SYSTEM DATA SOURCES”,“USER DATA SOURCES”)的生效顺序。在以上的输出结果中,我们通常只需要关注“DRIVERS”,“SYSTEM DATA SOURCES”,“USER DATA SOURCES”即可。

DRIVERS 系统级别的驱动配置相关信息,只需要配置对应的数据库驱动描述相关即可,无需配置具体的连接信息。
配置内容构成如下(以达梦为例):

$ more /etc/odbcinst.ini [DM ODBC DRIVER] Description = ODBC for DM8 Driver = /home/dmdba/dmdbms/bin/libdodbc.so

SYSTEM DATA SOURCES 系统级别的数据源配置信息,涉及到具体的连接信息配置。
配置文件的构成如下:

$ more /etc/odbc.ini [DM8] Description = DM ODBC DSN Driver = DM ODBC DRIVER UID = PWD = SERVER = 10.10.10.10 TCP_PORT = 5236

USER DATA SOURCES 用户级别的数据源配置信息,涉及到具体的连接信息配置。
配置文件构成如下:

$ more .odbc.ini [DM] Driver=/home/dmdba/dmdbms/bin/libdodbc.so Server=localhost TCP_PORT=5236

从上面的配置文件示例,我们可以看到。当配置了系统级别的驱动信息时,如果要使用它,只需要在Driver中配置系统驱动信息名称即可,而无需配置具体的so文件;反之则需要。通过对以上的理解,想必大家对开始提到的3个问题都有了明确的答案。

简单验证

如下配置,我们该如何连接呢?

$ more .odbc.ini [DM] Driver=/home/dmdba/dmdbms/bin/libdodbc.so Server=localhost TCP_PORT=5236 $ isql DM [ISQL]ERROR: Could not SQLConnect $ isql DM UID PWD +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL>

通过以上的简单验证,isql DSN连接时,大家是不是觉得报错不是很明显呢? 那如何才能让他更加明显呢?看下面:

$ isql DM -v [S1000][unixODBC]用户名或密码错误 [ISQL]ERROR: Could not SQLConnect

以上是我关于ODBC的一些使用分享,欢迎大家讨论,如有不对之处,请指正~

谢谢~

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服