基础运维 数据库管理
应用工具访问数据库

行云管家通过将安装部署于应用宿主机中的数据库客户端工具与实际数据库结合,借助应用参数代填、发布授权能力,协助您对数据库进行访问授权及审计。其中应用宿主机数据库工具哪些支持自动代填的请参考以下列表:

客户端工具 客户端版本 数据库类型
Navicat Premium 11 MySQL
SQLServer
Oracle
12 MySQL
SQLServer
Oracle
MySQL Workbench 8.0.18 MySQL
PLSQL Developer 13 Oracle
SQL Plus 18.5 Oracle
Toad 13 Oracle
SQL Server Management Studio (SSMS) 17.9.1 SQLServer

一、添加应用宿主机

数据库工具是一个运行于应用宿主机中的数据库客户端工具,如果您的环境中当前未添加应用宿主机,请参考【添加应用宿主机】进行应用宿主机添加。

二、发布新的数据库工具

如前所述,作为一个运行于应用宿主机中的数据库客户端工具,您需要先到应用宿主机中进行数据库客户端工具安装,然后在应用中心中将工具发布出来,请参考【发布新的工具】进行数据库客户端工具发布。

三、创建新的数据库工具

3.1、在“基础运维”下进入“数据库管理”栏目,点击“数据库工具”,将弹出“数据库工具管理”;

3.2、点击“创建新的工具”;

3.3、设置工具名称、选择应用宿主机、选择工具为已经在应用中心中发布的Navicat、指定工具图标、指定访问应用时是否允许加载团队网盘;

3.4、选择“数据库类型”,在“参数代填”里填入对应的参数,本例中(NavicatPremium的SQLServer参数)各参数填写为 ${user}、${password}、 ${ip},${port} ,请参考【代填参数说明】了解代填参数详情;

注意:是填写参数${user}这种形式,而不是填写具体数值;

3.5、点击“下一步”后即可完成创建,点击“关闭”后就可以看到“数据库工具”里已经有新创建的工具了;

四、通过数据库工具访问数据库

通过应用宿主机里已发布的数据库工具来访问数据库,下面以“Web桌面”为例,会通过web桌面会话访问应用宿主机里的数据库工具(“本地工具”方式同理,会通过用户当前电脑的mstsc访问应用宿主机里的数据库工具)

4.1、在“基础运维”下的“数据库管理”页面中,点击您需要访问的“数据库”进入到该数据库详情页;

4.2、点击“数据库访问串”里的“立即访问”,在这里可以看到刚创建的工具,点击即可打开数据库客户端工具;

4.3、打开前,可以选择“数据库代理地址”以及设置“显示分辨率”;

4.4、打开工具会话后可以看到执行了参数自动代填,并生成了数据库连接,通过该连接即可访问数据库;

五、代填参数说明

首先,代填参数从何而来?

我们在发布工具时,为"参数代填"指定了JSON脚本,在该JSON脚本的“参数描述”部分中,即定义了所发布工具需代填的参数内容,包括参数的名称、参数在界面上显示的标签及参数值的类型。详见【发布新的工具

以上述“创建新的数据库工具”-“指定工具”向导页中选择的工具“navicat”为例【指定工具】,该工具在发布时指定的JSON脚本为Navicat连接SQLServer数据库时所需的代填脚本,其中"参数描述"部分内容如下:

"meta" : [
    {
      "name" : "userName",
      "label" : "用户名",
      "type" : "text"
    },
    {
      "name" : "password",
      "label" : "密码",
      "type" : "password"
    },
    {
      "name" : "host",
      "label" : "Host",
      "type" : "text"
    }
]

当中指定了三个代填参数:

第一个为用户名:其参数名称为“userName”,在界面上显示的标签为“用户名”,参数类型为“text”(即文本)。

第二个为密码:其参数名称为“password”,在界面上显示的标签为“密码”,参数类型为“password”。

第三个为数据库连接Host:其参数名称为“host”,在界面上显示的标签为“Host”,参数类型为“text”。

因此,我们在“参数代填”向导页面中能看到有三个代填参数,如下图:

其次,代填参数的参数值从哪里来?

我们在创建数据库工具时,在“创建新的数据库工具”-“参数代填”向导页面中为各个参数指定了值【参数代填】,其中“用户名”的值指定为“${user}”,“密码”的值指定为“${password}”,“Host”的值指定为“${ip},${port}”(不同的数据库工具中,Host值的指定形式可能会有不同),这些值是以“变量”的形式来指定的,那么这些变量是从哪里来的呢?

数据库工具创建成功后,将根据数据库类型,依附于数据库访问方案中:

一旦您点击使用数据库工具对数据库进行连接访问,行云管家即会根据数据库访问方案生成数据库访问串,访问串中包括了访问数据库所需的“用户名”、“密码”、“Host(IP)”、“端口”及“Schema”等内容,同时,将访问串中各项值赋予变量,赋值关系为:

${user} <= “用户名”

${password} <= “密码”

${ip} <= “Host(IP)”

${port} <= “端口”

${schema} <= “Schema”

而行云管家正是根据上述参数赋值关系,将访问数据库所需的“用户名”等值自动填入(代填)到数据库工具对应位置中,从而实现连接访问数据库的。