达梦数据库-学习-18-ODBC数据源配置(Linux)

一、环境信息

名称
CPU12th Gen Intel(R) Core(TM) i7-12700H
操作系统CentOS Linux release 7.9.2009 (Core)
内存4G
逻辑核数2
DM版本1          DM Database Server 64 V8
2          DB Version: 0x7000c
3          03134284194-20240703-234060-20108
4          Msg Version: 12
5          Gsu level(5) cnt: 0

二、介绍

工作中我们经常遇到客户需要使用ODBC连接数据库,那配置ODBC数据源就成了必要的操作流程,今天我们来介绍一下配置ODBC数据源的步骤。

三、安装步骤

1、解压unixODBC安装包

[root@bogon Pkg]# tar -xvf unixODBC-2.3.0.tar.gz

2、切换目录

[root@bogon Pkg]# cd unixODBC-2.3.0/[root@bogon unixODBC-2.3.0]# pwd
/opt/Pkg/unixODBC-2.3.0

3、配置

[root@bogon unixODBC-2.3.0]# ./configure

4、编译

[root@bogon unixODBC-2.3.0]# make

5、编译安装

[root@bogon unixODBC-2.3.0]# make install

UnixODBC默认安装路径为/usr/local。动态库路径为/usr/local/lib。

6、查看ODBC版本和配置信息

[root@bogon unixODBC-2.3.0]# odbcinst -j
unixODBC 2.3.0
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

7、odbcinst.ini配置

[root@bogon unixODBC-2.3.0]# cat /usr/local/etc/odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /opt/Dm8/bin/libdodbc.so

8、odbc.ini配置

[root@bogon unixODBC-2.3.0]# cat /usr/local/etc/odbc.ini
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = qwer1234S
TCP_PORT = 5236

9、测试ODBC数据源

[root@bogon unixODBC-2.3.0]# su - dmdba
上一次登录:三 4月  9 15:34:23 CST 2025pts/1 上[dmdba@bogon ~]$ isql DM8 -v
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> 

大家记得切换到dmdba用户执行测试命令。如果大家提示动态库找不到之类的错误,可能是环境变量没有配置,可以参考如下内容,配置完记得source一下此文件。

[dmdba@czg0 ~]$ cat /home/dmdba/.bash_profile 
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programsPATH=$PATH:$HOME/.local/bin:$HOME/binexport PATHexport LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/Dm8/bin"
export DM_HOME="/opt/Dm8"
[dmdba@czg0 ~]$ source /home/dmdba/.bash_profile

如果还连接不上,可能是libdodbc.so连接的动态库找不到导致的问题。

[dmdba@bogon ~]$ ldd /opt/Dm8/bin/libdodbc.solinux-vdso.so.1 =>  (0x00007ffc298ed000)libdmdpi.so => /opt/Dm8/bin/libdmdpi.so (0x00007f8830e5a000)libdmfldr.so => /opt/Dm8/bin/libdmfldr.so (0x00007f8830b27000)librt.so.1 => /lib64/librt.so.1 (0x00007f883091f000)libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f8830703000)libdl.so.2 => /lib64/libdl.so.2 (0x00007f88304ff000)libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f88301f7000)libm.so.6 => /lib64/libm.so.6 (0x00007f882fef5000)libc.so.6 => /lib64/libc.so.6 (0x00007f882fb27000)libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f882f911000)libdmjson.so => /opt/Dm8/bin/libdmjson.so (0x00007f882f6e2000)/lib64/ld-linux-x86-64.so.2 (0x00007f8831f68000)libdmutl.so => /opt/Dm8/bin/libdmutl.so (0x00007f882f4c7000)libdmelog.so => /opt/Dm8/bin/libdmelog.so (0x00007f882f257000)libdmos.so => /opt/Dm8/bin/libdmos.so (0x00007f882f021000)libdmcvt.so => /opt/Dm8/bin/libdmcvt.so (0x00007f882e8a3000)libdmmem.so => /opt/Dm8/bin/libdmmem.so (0x00007f882e690000)libdmstrt.so => /opt/Dm8/bin/libdmstrt.so (0x00007f882e482000)libdmcalc.so => /opt/Dm8/bin/libdmcalc.so (0x00007f882e1eb000)libdmdta.so => /opt/Dm8/bin/libdmdta.so (0x00007f882def4000)libdmcfg.so => /opt/Dm8/bin/libdmcfg.so (0x00007f882da8b000)libdmbcast.so => /opt/Dm8/bin/libdmbcast.so (0x00007f882d80a000)libdmmout.so => /opt/Dm8/bin/libdmmout.so (0x00007f882d530000)libdmcyt.so => /opt/Dm8/bin/libdmcyt.so (0x00007f882d30b000)libdmcpr.so => /opt/Dm8/bin/libdmcpr.so (0x00007f882d107000)libdmcomm.so => /opt/Dm8/bin/libdmcomm.so (0x00007f882ced3000)libdmdcrm.so => /opt/Dm8/bin/libdmdcrm.so (0x00007f882ccc6000)libdmshm.so => /opt/Dm8/bin/libdmshm.so (0x00007f882cac1000)libdmshmm.so => /opt/Dm8/bin/libdmshmm.so (0x00007f882c8bb000)libdmclientlex.so => /opt/Dm8/bin/libdmclientlex.so (0x00007f882c686000)libdmvtdskm.so => /opt/Dm8/bin/libdmvtdskm.so (0x00007f882c474000)libdmdcr.so => /opt/Dm8/bin/libdmdcr.so (0x00007f882c26b000)libdmvtdsk.so => /opt/Dm8/bin/libdmvtdsk.so (0x00007f882c063000)

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/76672.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js 效果展示 拿去练手

自学完整功能,拿去练手。 鼠标移动放大 通过网盘分享的文件:图片放大 链接: https://pan.baidu.com/s/1w8SjtKi4kUNDnZtRDfYMeQ?pwd95p6 提取码: 95p6 通过网盘分享的文件:图片动画效果 链接: https://pan.baidu.com/s/1Pjphx-Cc4HQQNNujr…

使用 TFIDF+分类器 范式进行企业级文本分类(二)

1.开场白 上一期讲了 TF-IDF 的底层原理,简单讲了一下它可以将文本转为向量形式,并搭配相应分类器做文本分类,且即便如今的企业实践中也十分常见。详情请见我的上一篇文章 从One-Hot到TF-IDF(点我跳转) 光说不练假把…

硬件设计-MOS管快速关断的原因和原理

目录 简介: 来源: MOS管快关的原理 先简单介绍下快关的原理: 同电阻时为什么关断时间会更长 小结 简介: 本章主要介绍MOS快速关断的原理和原因。 来源: 有人会问,会什么要求快速关断,而…

Linux进阶命令

目录 一、touch 1. 基本语法 2. 常用选项 二、which 1. 基本语法 2. 主要功能 3. 常用选项 三、find 1. 基本语法 2. 常用选项和表达式 四、more 1. 基本语法 2. 常用操作 3. 对比 more 和 less 五、grep 1. 基本语法 2. 常用选项 六、wc 1. 基本语法 2. 常…

阿里云实时计算Flink版产品体验测评

阿里云实时计算Flink版产品体验测评 什么是阿里云实时计算Flink应用场景实时计算Flink&自建Flink集群性价比开发效率运维管理企业安全 场景落地 什么是阿里云实时计算Flink 实时计算Flink大家可能并不陌生,在实时数据处理上,可能会有所接触&#xf…

用户登录不上linux服务器

一般出现这种问题,重新用root用户修改lsy用户的密码即可登录,但是当修改了还是登录不了的时候,去修改一个文件用root才能修改, 然后在最后添加上改用户的名字,例如 原本是只有user的,现在我加上了lsy了&a…

Android Jetpack架构组件——用Compose工具包构建基本的布局

推荐文章 构建基本布局 | Android Basics Compose - First Android app | Android Developers 向 Android 应用添加图片 | Android Developers

SLAM(七)-卡尔曼滤波

SLAM(七)-卡尔曼滤波 一、卡尔曼滤波(KF)二、扩展卡尔曼滤波(EKF)三、误差状态卡尔曼滤波(ESKF) 参考《概率机器人》、《Principles of GNSS,lnertial and Multisensor lntegrated Navigation Systems (Second Edition)》 一、卡尔曼滤波(KF)…

Electron 应用太重?试试 PakePlus 轻装上阵

Electron 作为将 Web 技术带入桌面应用领域的先驱框架,让无数开发者能够使用熟悉的 HTML、CSS 和 JavaScript 构建跨平台应用。然而,随着应用规模的扩大,Electron 应用的性能问题逐渐显现——内存占用高、启动速度慢、安装包体积庞大&#xf…

Vue.js组件安全工程化演进:从防御体系构建到安全性能融合

——百万级流量场景下的安全组件架构与源码级解决方案 文章目录 总起:安全工程化的组件革命 分论: 一、现存组件架构的七宗罪与安全改造路径   1.1 组件生态安全赤字现状   1.2 架构级安全缺陷深度剖析   1.3 性能与安全的死亡螺旋 二、百万级…

MCP+cursor使用嘴操作数据库(不用编写SQL语句实现CURD)

文章目录 1.如何进行相关配置2.如何添加MCP server3.如何进行相关的操作3.0数据的查询3.1数据的插入3.2数据的修改3.3多表连接查询 1.如何进行相关配置 这个跟昨天的高德地图的配置非常的相似,因此这个地方我就不进行过多的这个说明了,就是新加一个全聚…

效率工具- git rebase 全解

一、前言 对于git rebase 一直不太了解,这几天想着提高下git提交质量,就发现了这个好用的指令,顺便记录一下,好加深记忆 贴出官方文档以便大家进一步学习 Git 二、rebase是作用 rebase 官方解释为变基,可以理解为移动你的分支根节点,维护一个更好的提交记录。rebase把你当前…

小爱音箱接入大模型DeepSeek及TTS

简介 相信看过钢铁侠的朋友们,都梦想拥有一个像贾维斯这样全能的人工智能管家。而现在随着AI的发展,这个愿景将随我们越来越近。现阶段,我们可以将小爱音箱接入DeepSeek,将其从“人工智障”进化成上知天文,下懂地理的半…

软件架构评估利器:质量效用树全解析

质量效用树是软件架构评估中的一种重要工具,它有助于系统地分析和评估软件架构在满足各种质量属性方面的表现。以下是关于质量效用树的详细介绍: 一、定义与作用 质量效用树是一种以树形结构来表示软件质量属性及其相关效用的模型。它将软件的质量目标…

[IEEE TIP 2024](cv即插即用模块分享)IdeNet信息增强模块 性能提升必备!

论文地址:https://ieeexplore.ieee.org/document/10661228 代码地址:https://github.com/whyandbecause/IdeNet 什么是伪装目标检测(COD)? 伪装目标检测(Camouflaged Object Detection, COD)是…

biblatex 的 Biber 警告​​:tex文件运行无法生成参考文献和目录

原因​​:使用了 biblatex 管理参考文献,但未运行 biber 生成参考文献数据。 ​​解决​​:更新 LaTeX Workshop 配置 修改你的 settings.json,添加 biber 工具并更新编译流程: {"latex-workshop.latex.tools&…

thingsboard3.9.1编译问题处理

问题1: [ERROR] Failed to execute goal org.thingsboard:gradle-maven-plugin:1.0.12:invoke (default) on project http: Execution default of goal org.thingsboard:gradle-maven-plugin:1.0.12:invoke failed: Plugin org.thingsboard:gradle-maven-plugin:1.…

深入浅出Redis 缓存使用问题 | 长文分享

目录 数据一致性 先更新缓存,后更新数据库【一般不考虑】 先更新数据库,再更新缓存【一般不考虑】 先删除缓存,后更新数据库 先更新数据库,后删除缓存【推荐】 怎么选择这些方案?采用哪种合适? 缓存…

Express中间件(Middleware)详解:从零开始掌握(2)

1. 请求耗时中间件的增强版 问题:原版只能记录到控制台,如何记录到文件? 改进点: 使用process.hrtime()是什么?获取更高精度的时间支持将日志写入文件记录更多信息(IP地址、状态码)工厂函数模式使中间件可配置 con…

如何设置Ubuntu服务器版防火墙

在Ubuntu服务器中,默认使用 ufw(Uncomplicated Firewall)作为防火墙管理工具。它是对iptables的简化封装,适合快速配置防火墙规则。以下是设置防火墙的详细步骤: 1. 安装与启用 ufw 安装(通常已预装&…