【原创】函数及过程数据传输

一、

Navicat Premium工具本身具有数据传输功能,打开这个功能

1.png

二、

表数据的传输比较简单,大家有空可以试一下,这里着重描述一下函数和过程的传输

当我们用传输业务表数据的方式去传输函数或者过程,可以看到,并不能传输成功,

[Err] [Dtf] 1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation
[Err] [Dtf] Finished - Unsuccessfully

2.png

3.png

三、

可以判断的是这是一个权限问题,我们打开源数据库里的任意一个函数,可以看到,函数里面都有用户,这个就是我们函数传输出错的罪魁祸首了4.png

四、

知道了原因,那接下来的思路是要把这个用户去掉,一个一个函数去改显然低效,那怎么样批量修改呢?Navicat Premium工具数据传输中还有个很实用的功能,可以把函数以文件形式导出,导出文件之后,那我们当然可以用编辑工具实现批量修改了。

5.png

五、

用编辑软件打开我们导出的函数,根据图示进行相应的修改

6.png

如我这边修改后就是这样,用编辑软件替换掉所有有用户的地方

7.png

六、

最后我们在目标库中运行修改后的函数sql文件,就大功告成了,过程如果遇到这个问题,也是类似的解决方法

9.png8.png

查看一下目标库函数导入的情况,可以看到,函数已经全部导入

10.png

原文地址:https://www.cnblogs.com/wushujun/p/8085238.html