17.2 新建数据源(数据库)
我们在使用云表的过程中,有时需要与其他系统,或服务器中其他数据库进行对接。通过建立外部数据源,我们便可以与其他系统建立联系,满足我们的需求。
- 云表与其他系统进行对接的方式,是通过登录其他系统的数据库来进行一系列的操作。
- 建立外部数据源(数据库)后,可以通过数据接口提取外部数据源的数据进行统计查询,以及对表单进行赋值;也可以通过业务公式将数据写入外部数据源(数据库)中。在建立外部数据源(数据库)时,需要填写要对接的数据库的地址、名称、账号、密码等。通过这些信息,云表可以登录到外部数据库中,进而可以读取和写入。
- 首先建立“外部数据源”,在系统管理—外部数据源文件夹中,点击新建数据源(数据库)
- 在新建外部数据源页面输入:
- 名称(为此数据源取名,主要是为了区分此数据源在云表系统中的作用)。
- 数据库类型(选择目标数据库的类型,可以是MySQL数据库、SqlServer数据库和oracle数据库)。
- 服务器地址(目标数据库所在服务器的IP地址)。
- 端口号(目标数据库的端口号)。
- 数据库名(目标数据库的数据库名)。
- 登录账户(视目标数据库是否有登录账户而定,若无则选无;若有则选用以下账户登录)。
- 远程账户(登录目标数据库的用户名)。
- 使用密码(登录目标数据库所用用户名对应的密码)。
- 建立成功后,双击我们建立的外部数据源,便可以查看目标数据库有哪些数据表。
- 我们在看到外部数据源表后,需要注册外部数据源表,才能对其进行查询或写入,否则云表无法知道我们想要查询或写入哪个表的数据。
- 选中我们要注册的表,然后点击注册。
- 在注册模板页面的显示名处填写数据库中字段对应在云表中显示的名字。并选择唯一标识字段(用来更新和删除数据,一般选择主键字段)。
- 点击确定后会弹出模板属性对话框,输入名称,例如填写“对接成绩单”(名称可随意填写,主要是为了能够了解此外部数据源的作用与目标模板)并选择保存目录。
- 完成外部数据源表的注册后,我们可以通过对此表的操作即可与外部数据源形成对接。
- 若我们与云表的数据库进行对接,那么我们需要知道表名所对应的模板名称。否则我们无法知道某个表是做什么的。
- 我们需要先双击打开外部数据源数据库,然后注册表名为lato_template_table_map的表。
- 选中lato_template_table_map这张表,然后点击注册。
- 在源数据项名“m_caption”后填写显示名为:模板名称;
- 在“m_tableName”后填写显示名为:表名
- 然后点击确定。
- 点击确定后会弹出模板属性对话框,输入名称,例如填写“查看表名对应的模板”(名称可随意填写,主要是为了能够了解此外部数据源的作用与目标模板)并选择保存目录。
- 保存后,在保存的目录下可以看到建立的数据源模板,双击后可查看数据源中表名对应的模板名称。
- 首先需要将外部数据源表(我们前面注册的表)做成数据接口。
- 在系统管理—数据接口—列表选择中,点击新建进行新建列表选择数据接口。
- 数据源选择注册的外部数据源表
- 数据列处添加数据项,然后输入此列表选择的名称并保存。
- 我们可以在表单中,通过填表公式—赋值操作的数据源中,选择此列表选择数据接口对表单赋值。
- 在此例中,我们选择在表单激活事件中,添加了赋值操作,将用外部数据源表建立的数据接口中的数据赋值到表单中。
- 我们可以双击打开我们注册的外部数据源的表查看表中的数据,来对比我们是否正确赋值。
- 注:云表模板为数据源,建立的列表选择数据接口的所有使用方法,对用外部数据源表为数据源,建立的列表选择数据接口也同样适用。
- 我们想对外部数据源进行新建、更新、删除时,直接对外部数据源注册的表进行操作即可。
- 如在前面中,我们所注册的外部数据源的表为对接成绩单。
- 我们可以通过业务公式对对接成绩单进行新建、更新和删除。
- 通过上图的设置后,我们就可对外部数据源进行同步操作。
- 详细的业务公式使用过程请参考业务公式板块
- 对外部数据源执行的业务公式,与对普通模板执行的业务公式,在使用方法上无任何区别。
- 需要注意的是:
- 1.若需要对外部数据源进行更新和删除,那么在注册外部数据源表时一定要选择唯一标识字段,一般为主键。
- 2.若进行对接操作的外部数据源表有自增长字段,那么在注册此表时,不允许通过业务公式对自增长字段赋值,也不能在注册此表时填写自增长字段的显示名。
- 下面我们来进行梳理一下:
- 1.我们建立的外部数据源名称为:同步外部数据
- 2.我们注册的外部数据源的表为:对接成绩单
- 3.我们用对接成绩单为数据源建立的列表选择数据接口为:成绩单列表
- 我们需要对外部数据源进行操作时,只需要对对接成绩单进行操作(新建、更新、删除)就可以;
- 我们需要将外部数据源的数据写入到云表中,那么需要通过成绩单列表这个数据接口为表单进行赋值。