【达梦数据库】dblink连接[SqlServer/Mysql]报错处理

news2025/4/3 2:27:25

目录

  • 背景
  • 问题1:无法测试以ODBC数据源方式访问的外部链接!
    • 问题分析&原因
    • 解决方法
  • 问题2:DBLINK连接丢失
    • 问题分析&原因
    • 解决方法
  • 问题3:DBIINK远程服务器获取对象[xxx]失败,错误洋情[[FreeTDS][SQL Server]Could not find stored procedure '`xxx`'.]
    • 问题分析&原因
    • 解决方法
    • 参考链接
  • 问题4:远程操作符执行失败,错误详情[[FreeTDS] [SQLServerInvalid cursor state]
    • 情况1:应用端执行报错,数据库端执行不报错
      • 问题分析&原因
      • 解决方法
    • 情况2:应用端和数据库端执行均报错。
      • 问题分析&原因
      • 解决方法

背景

需要使用dblink功能连接SqlServer/Mysql数据库,在测试时有好几种报错,记录供参考。

问题1:无法测试以ODBC数据源方式访问的外部链接!

在达梦管理工具图形化测试公共外部链接时,报错:无法测试以ODBC数据源方式访问的外部链接!
在这里插入图片描述

问题分析&原因

ODBC类型的外部公共链接没有图形化测试功能

解决方法

直接使用dblink查远端表测试

问题2:DBLINK连接丢失

使用dblink查MYSQL远端表测试,报错:DBLINK连接丢失
在这里插入图片描述

问题分析&原因

查看数据库日志,报错:Can not open lib /usrlib64/libmyodbc5.so
在这里插入图片描述
手动查找libmyodbc5.so:find / -name libmyodbc5.so,找不到,但是可以找到libmyodbc5w.so
在这里插入图片描述
通过排查,原因是找不到/usrlib64/libmyodbc5.so

解决方法

建立软连接:ln -s /usr/local/mysql-odbc/lib/libmyodbc5w.so /usrlib64/libmyodbc5.so
在这里插入图片描述
再次使用dblink查远端表测试,无报错,问题解决
在这里插入图片描述

问题3:DBIINK远程服务器获取对象[xxx]失败,错误洋情[[FreeTDS][SQL Server]Could not find stored procedure ‘xxx’.]

使用dblink查SqlServer远端表测试,报错:DBIINK远程服务器获取对象[xxx]失败,错误洋情[[FreeTDS][SQL Server]Could not find stored procedure ‘xxx’.]
在这里插入图片描述

问题分析&原因

查看数据库日志,报错:[FreeTDS][SQL Server]Could not find stored procedure ‘xxx’.]
在这里插入图片描述
使用isql -v 连接名连接SQLServer,连接不上(参考链接: Java ODBC连接SqlServer,FreeTDS/jtds 连接SqlServer)报错:[unixODBC][FreeTDS][SQL Server]Unable to connect to data source]
在这里插入图片描述
通过排查:操作系统找驱动配置文件odbcinst.ini和数据源DSN配置文件odbc.ini都默认找/etc目录下的,而原来安装在/usr/local/etc目录下

解决方法

把odbcinst.ini和odbc.ini文件拷贝到/etc目录下即可
在这里插入图片描述

参考链接

参考链接: 配置达梦dblink到sqlserver2012出现连接异常

参考链接: DM->DM通过ODBC方式创建DBLINK,报错DBLINK连接丢失

参考链接: 【有道云笔记】达梦与sqlserver之间dblink创建

参考链接: Java ODBC连接SqlServer,FreeTDS/jtds 连接SqlServer

问题4:远程操作符执行失败,错误详情[[FreeTDS] [SQLServerInvalid cursor state]

使用dblink查SqlServer远端表测试,报错:远程操作符执行失败,错误详情[[FreeTDS] [SQLServerInvalid cursor state],此类问题又分为两种情况:

  • 情况1:应用端执行报错,数据库端执行不报错
  • 情况2:应用端和数据库端执行均报错。

情况1:应用端执行报错,数据库端执行不报错

问题分析&原因

官方解释:管理工具默认只取前100行数据,如果超过100行,又未获取全部数据,再次执行报错无效的游标状态
在这里插入图片描述

解决方法

每次获取全部数据,或者加top 取前几行等

情况2:应用端和数据库端执行均报错。

问题分析&原因

  • 大部分报错集中出现在 情况1:应用端执行报错,数据库端执行不报错,但是也有少量dblink查询会出现情况2:应用端和数据库端执行均报错
  • 更有意思的是,在测试环境中不会出现这样的问题,而在正式环境中出现了,正式环境和测试环境数据库版本&驱动版本均一致

严重怀疑是否和哪个参数有关系?比对测试环境和正式环境的dm.ini文件,还真找到一个:
在这里插入图片描述

通过hint提示拼接SQL:

select  /*+ DBLINK_OPT_FLAG(509)*/ 
		字段1,字段2
from 	表1
where 	条件1
and 	条件2;

重新在应用端和数据库端执行,不会出现报错

解决方法

因为此参数为动态参数,执行执行命令修改:

SP_SET_PARA_VALUE (1,'DBLINK_OPT_FLAG',509);

在这里插入图片描述
再次使用dblink查远端表测试,无报错,问题解决

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

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

相关文章

java断点调试(debug)

在开发中,新手程序员在查找错误时, 这时老程序员就会温馨提示,可以用断点调试,一步一步的看源码执行的过程,从而发现错误所在。 重要提示: 断点调试过程是运行状态,是以对象的运行类型来执行的 断点调试介绍 断点调试是…

最新智能优化算法:牛优化( Ox Optimizer,OX)算法求解经典23个函数测试集,MATLAB代码

一、牛优化算法 牛优化( OX Optimizer,OX)算法由 AhmadK.AlHwaitat 与 andHussamN.Fakhouri于2024年提出,该算法的设计灵感来源于公牛的行为特性。公牛以其巨大的力量而闻名,能够承载沉重的负担并进行远距离运输。这种…

Redis7——基础篇(四)

前言:此篇文章系本人学习过程中记录下来的笔记,里面难免会有不少欠缺的地方,诚心期待大家多多给予指教。 基础篇: Redis(一)Redis(二)Redis(三) 接上期内容&…

Git备忘录(三)

设置用户信息: git config --global user.name “itcast” git config --global user.email “ helloitcast.cn” 查看配置信息 git config --global user.name git config --global user.email $ git init $ git remote add origin gitgitee.com:XXX/avas.git $ git pull or…

MySQL 之INDEX 索引(Index Index of MySQL)

MySQL 之INDEX 索引 1.4 INDEX 索引 1.4.1 索引介绍 索引:是排序的快速查找的特殊数据结构,定义作为查找条件的字段上,又称为键 key,索引通过存储引擎实现。 优点 大大加快数据的检索速度; 创建唯一性索引,保证数…

Linux基础24-C语言之分支结构Ⅰ【入门级】

分支结构 问题抛出 我们在程序设计中往往会遇到如下问题,比如下面的函数计算: 也就是我们必须要通过一个条件的结果来选择下一步的操作,算法上属于一个分支结构,处于严重实现分支结构主要使用if语句。 条件判断 根据某个条件成…

LeetCode47

LeetCode47 目录 题目描述示例思路分析代码段代码逐行讲解复杂度分析总结的知识点整合总结 题目描述 给定一个可包含重复数字的整数数组 nums,按任意顺序返回所有不重复的全排列。 示例 示例 1 输入: nums [1, 1, 2]输出: [[1, 1, 2],[1, 2, 1],[2, 1, 1] ]…

【Unity动画】导入动画资源到项目中,Animator播放角色动画片段,角色会跟随着动画播放移动。

导入动画资源到项目中,Animator播放角色动画片段,角色会跟随着动画播放移动,但我只想要角色在原地播放动画。比如:播放一个角色Run动画,希望角色在原地奔跑,而不是产生了移动距离。 问题排查: 1.是否勾选…

图解循环神经网络(RNN)

目录 1.循环神经网络介绍 2.网络结构 3.结构分类 4.模型工作原理 5.模型工作示例 6.总结 1.循环神经网络介绍 RNN(Recurrent Neural Network,循环神经网络)是一种专门用于处理序列数据的神经网络结构。与传统的神经网络不同&#xff0c…

【数据结构】(9) 优先级队列(堆)

一、优先级队列 优先级队列不同于队列,队列是先进先出,优先级队列是优先级最高的先出。一般有两种操作:返回最高优先级对象,添加一个新对象。 二、堆 2.1、什么是堆 堆也是一种数据结构,是一棵完全二叉树&#xff0c…

4、IP查找工具-Angry IP Scanner

在前序文章中,提到了多种IP查找方法,可能回存在不同场景需要使用不同的查找命令,有些不容易记忆,本文将介绍一个比较优秀的IP查找工具,可以应用在连接树莓派或查找IP的其他场景中。供大家参考。 Angry IP Scanner下载…

【Linux】命令操作、打jar包、项目部署

阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 一:Xshell下载 1:镜像设置 二:阿里云设置镜像Ubuntu 三&#xf…

瑞萨RA-T系列芯片ADCGPT功能模块的配合使用

在马达或电源工程中,往往需要采集多路AD信号,且这些信号的优先级和采样时机不相同。本篇介绍在使用RA-T系列芯片建立马达或电源工程时,如何根据需求来设置主要功能模块ADC&GPT,包括采样通道打包和分组,GPT触发启动…

Unity Shader学习6:多盏平行光+点光源 ( 逐像素 ) 前向渲染 (Built-In)

0 、分析 在前向渲染中,对于逐像素光源来说,①ForwardBase中只计算一个平行光,其他的光都是在FowardAdd中计算的,所以为了能够渲染出其他的光照,需要在第二个Pass中再来一遍光照计算。 而有所区别的操作是&#xff0…

tailwindcss学习01

系列教程 01 入门 02 vue中接入 入门 # 注意使用cmd不要powershell npm init -y # 如果没有npx则安装 npm install -g npx npm install -D tailwindcss3.4.17 --registry http://registry.npm.taobao.org npx tailwindcss init修改tailwind.config.js /** type {import(tai…

DIN:引入注意力机制的深度学习推荐系统,

实验和完整代码 完整代码实现和jupyter运行:https://github.com/Myolive-Lin/RecSys--deep-learning-recommendation-system/tree/main 引言 在电商与广告推荐场景中,用户兴趣的多样性和动态变化是核心挑战。传统推荐模型(如Embedding &…

【前端】如何安装配置WebStorm软件?

文章目录 前言一、前端开发工具WebStorm和VS Code对比二、官网下载三、安装1、开始安装2、选择安装路径3、安装选项4、选择开始菜单文件夹5、安装成功 四、启动WebStorm五、登录授权六、开始使用 前言 WebStorm 是一款由 JetBrains 公司开发的专业集成开发环境(IDE…

【Golang学习之旅】Go 语言微服务架构实践(gRPC、Kafka、Docker、K8s)

文章目录 1. 前言:为什么选择Go语言构建微服务架构1.1 微服务架构的兴趣与挑战1.2 为什么选择Go语言构建微服务架构 2. Go语言简介2.1 Go 语言的特点与应用2.2 Go 语言的生态系统 3. 微服务架构中的 gRPC 实践3.1 什么是 gRPC?3.2 gRPC 在 Go 语言中的实…

Spring核心思想之—AOP(面向切面编程)

目录 一 .AOP概述 二. Spring AOP 使用 2.1 引入AOP依赖 2.2 编写AOP程序 三. Spring AOP详情 3.1 切点(Pointcut) 3.2 连接点(Join Point) 3.3通知(Advice) 3.4切面(Aspect) 3.5通知 3.6 PointCut (公共切点)…

关于使用雪花算法生成唯一ID,返回给前端ID不一致的问题

问题 在某个项目中,使用雪花算法生成的唯一ID,从数据库查询到数据后返回给前端,但是前端接受到的数据ID和数据库原先生成的不一致 但是前端展示的数据: 原因 原因是后端使用Long类型来存储雪花算法生成的ID,但是这个数值已经超过前端数值类型的范围,导致前端在存储这个数值…