找回密码
 注册成为天翎用户
查看: 1982|回复: 11

[楼主失联] 如何同步另外一个数据库的用户到我们系统上

[复制链接]
zjj 发表于 2022-2-25 17:52:46 | 显示全部楼层 |阅读模式
【myApps/OBPM版本号】:v1.6- sp 1.6
【浏览器类型】:Chrome/其他
【联系方式-QQ】:804964490
【联系电话】:    17891162939
【问题描述】:如何同步另外一个数据库的用户到我们系统上呢?这是脚本,能插入用户,但是系统后台查询不到用户,数据库上是有的,是插入方式不对吗?


//用户信息同步                             
(function() {
        var rtn = "";
        var sql = "select xm,zgh,szyxbc  from dm_w5_jzgjbxxb";
        var count = 0; //同步成功数量
        var bmid = ""; //部门id
        var uuid5 = new Packages.cn.myapps.util.sequence.Sequence();
var bmtid5 = uuid5.getSequence();       
        println("-----"+bmtid5);
        var datas = queryByDSName("同步库", sql);

        if (datas != null && datas.size() > 0) {
                for (var iterator = datas.iterator(); iterator.hasNext();) {
                        var map1 = iterator.next(); //取值
                        var name = map1.get("xm");
                        var bm = map1.get("szyxbc");
                        var loginno = map1.get("zgh");

                        var sql1 = "select * from obpm.t_user where loginno = '" + loginno + "'";
                        var datas1 = queryByDSName("科研管理", sql1);
                        if (datas1 != null && datas1.size() > 0) {
                                //存在用户
                        } else {
                                //不存在用户添加
                                var sql3 = "select * from obpm.t_department where name='" + bm + "'";
                                var datas3 = queryByDSName("科研管理", sql3);
                                if (datas3 != null && datas3.size() > 0) {
                                        //存在部门                       
                                        for (var iterator3 = datas3.iterator(); iterator3.hasNext();) {
                                                bmid = map1.get("id");
                                        }
                                } else {
                                        //不存在部门,要添加
                                        var uuid3 = new Packages.cn.myapps.util.sequence.Sequence();
                                        var bmtid = uuid3.getSequence();
                                        var sql4 = "insert into obpm.t_department (id,name) values('" + bmtid + "','" + bm + "')";
                                        insertByDSName("科研管理", sql4);
                                        bmid = bmtid;
                                }
                                //添加用户开始
                                var v1 = loginno;
                                var v2 = name;
                                var v2 = bmid;
                                var uuid = new Packages.cn.myapps.util.sequence.Sequence();
                                var sql2 = "insert into obpm.t_user (id,loginno,name,DEFAULTDEPARTMENT) values('" + uuid.getSequence() + "','" + v1 + "','" + v2 + "','" + v3 + "')";
                                //println(sql);
                                insertByDSName("科研管理", sql2);
                                count++;
                        }
                }
        }
        println("-->" + count);
        return rtn;
})();






1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\"已解决可结帖\"
tiga 发表于 2022-3-2 10:46:24 | 显示全部楼层
你好,可以试着输出 var map1 = iterator.next(); //取值var name = map1.get("xm"); var bm = map1.get("szyxbc"); var loginno = map1.get("zgh");这四个值,然后看看是否有值
回复

使用道具 举报

 楼主| zjj 发表于 2022-3-8 08:39:35 | 显示全部楼层
tiga 发表于 2022-3-2 10:46
你好,可以试着输出 var map1 = iterator.next(); //取值var name = map1.get("xm"); var bm = map1.get("s ...

有的,就是不知道怎么如何导入的讷?
回复

使用道具 举报

 楼主| zjj 发表于 2022-3-8 08:50:20 | 显示全部楼层
tiga 发表于 2022-3-2 10:46
你好,可以试着输出 var map1 = iterator.next(); //取值var name = map1.get("xm"); var bm = map1.get("s ...

按照我这个写法,数据是可以导入用户表的,但是在后台查询用户那就查询不到,前台登录也是登录不了,这是什么原因讷?
回复

使用道具 举报

tiga 发表于 2022-3-9 16:00:20 | 显示全部楼层
zjj 发表于 2022-3-8 08:50
按照我这个写法,数据是可以导入用户表的,但是在后台查询用户那就查询不到,前台登录也是登录不了,这是 ...

你好,如果查出来有数据,方法参数的数据源有没写对
回复

使用道具 举报

 楼主| zjj 发表于 2022-3-15 15:12:00 | 显示全部楼层
tiga 发表于 2022-3-9 16:00
你好,如果查出来有数据,方法参数的数据源有没写对

写对了的,你可以看看代码吗
回复

使用道具 举报

tiga 发表于 2022-3-15 18:32:33 | 显示全部楼层
zjj 发表于 2022-3-15 15:12
写对了的,你可以看看代码吗

你好,麻烦把sql1语句去数据库查,看看是否有数据?
回复

使用道具 举报

tiga 发表于 2022-3-15 18:41:25 | 显示全部楼层
zjj 发表于 2022-3-15 15:12
写对了的,你可以看看代码吗

你好,您也可以参照这个网址https://blog.csdn.net/qq_33645580/article/details/107814812,在下图的位置中写的脚本示例

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册成为天翎用户

×
回复

使用道具 举报

 楼主| zjj 发表于 2022-3-17 09:26:01 | 显示全部楼层
tiga 发表于 2022-3-15 18:41
你好,您也可以参照这个网址https://blog.csdn.net/qq_33645580/article/details/107814812,在下图的位 ...

好的,我看看
回复

使用道具 举报

 楼主| zjj 发表于 2022-3-25 14:42:14 | 显示全部楼层
tiga 发表于 2022-3-15 18:41
你好,您也可以参照这个网址https://blog.csdn.net/qq_33645580/article/details/107814812,在下图的位 ...

[JavaPackage cn.myapps.common.util.Base64Util] is not a function, it is org.mozilla.javascript.NativeJavaPackage. (11ec-9607-7167d48c-b590-6f203bd1cef5).厕所.ValueScript#6

这个是有错我的,请问1.6版本调用这个类,路径对的嘛

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册成为天翎用户

×
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-13 21:35

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表