查看: 16607|回复: 5

请问如何跟第三方系统或数据库进行数据交互?

升级   1.8%

24

主题

21

回帖

180

积分

注册会员

Rank: 2

积分
180
发表于 2020-1-3 09:30:20 | 显示全部楼层 |阅读模式
你好管理员,我们现在希望能在OA审批表单中通过api  rest方式访问第三方的业务系统或数据库,将数据加载到表单控件中,流程结束后将数据保存到业务系统数据库,请问如何实现?o2oa中有类似ajax的交互函数吗?
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2020-1-3 13:16:27 | 显示全部楼层
您可以直接引入jquery ,,然后使用ajax或者使用mootools 发起一个new Request请求
回复

使用道具 举报

升级   5.48%

34

主题

74

回帖

548

积分

注册会员

Rank: 2

积分
548
发表于 2021-11-9 11:35:07 | 显示全部楼层
访问第三方数据库获取数据,这个做成了吗?我也有此需求,发出来分享分享
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2021-11-10 21:04:17 | 显示全部楼层
目前是有这个能力的,可以使用前端js脚本以数据源的形式执行SQL语句,来获取数据列表,渲染到界面上。这一块的能力我们后续会发布相应的文档。年底了,项目比较忙,请耐心等待一下。
谢谢您对O2OA的支持。
回复

使用道具 举报

升级   6.41%

42

主题

98

回帖

641

积分

注册会员

Rank: 2

积分
641
发表于 2022-9-2 21:50:56 | 显示全部楼层
论坛管理员 发表于 2021-11-10 21:04
目前是有这个能力的,可以使用前端js脚本以数据源的形式执行SQL语句,来获取数据列表,渲染到界面上。这一 ...

MARK一下, 我也知道肯定能实现。 因为消息是都可以推送这么多外部中间件中。 一个数据库肯定不在话下。

但就是没有看到具体实现。
回复

使用道具 举报

升级   6.41%

42

主题

98

回帖

641

积分

注册会员

Rank: 2

积分
641
发表于 2022-9-2 22:31:09 | 显示全部楼层
这种后台脚本能执行么?

function connectMysql(){ //连接MySQL
    try {      
        print("connect mysql==============================");      

        //加载驱动类
        Java.type("com.mysql.cj.jdbc.Driver");


        var DriverManager = Java.type("com.mysql.cj.jdbc.DriverManager");

                Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/schooldb?serverTimezone=Asia/Shanghai", "root", "root");//通过DriverManager接口中的getConnection方法获取数据库连接

                PreparedStatement preparedStatement = connection.prepareStatement("string");//获取数据库操作对象,不同的是PreparedStatement是通过预编译的方式写入sql语句,可以有效防止sql注入

                var string = "SELECT * FROM student";//string语句中用来书写在数据库中的sql语句

                ResultSet resultSet = preparedStatement.executeQuery();//查询语句时使用,可以通过resultSet对象获取结果集
                resultSet.getInt("");//括号中填写属性名
                resultSet.getString("");
                int count = preparedStatement.executeUpdate();//增,删和修改语句时使用,可以通过resultSet对象返回修改的记录数


                resultSet.close();//只有查询语句时才需要关闭resultSet
                preparedStatement.close();//关闭开启的通道
                connection.close();//将开启的通道关闭,释放资源

        } catch (e) {
        e.printStackTrace();
        e.printStackTrace();
        result.state = "NMT0002";
        result.message = "失败";
        result.data = e.name + ": " + e.message
    }
}
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread