因临时需个达梦数据库的测试环境,所以在M芯片的Macbook安装达梦数据库。

1、下载地址:达梦数据库DM8安装包下载https://eco.dameng.com/download/

在这里插入图片描述

在这里插入图片描述

2、修改Docker

docker run -d --platform linux/amd64 -p 30236:5236 --name=dm8_test --privileged=true -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e PAGE_SIZE=16 -e EXTENT_SIZE=32 -e LOG_SIZE=1024 -e UNICODE_FLAG=1 -e INSTANCE_NAME=dm8_test -v /Users/【你的帐号】/dm8:/opt/dmdbms/data dm8:dm8_20240613_rev229704_x86_rh6_64

3、Docker版达梦,运行后截图

在这里插入图片描述

4、使用DBeaver,可以正常选择到Dameng达梦

在这里插入图片描述

5、建用户、授权、建表、插入、查询数据,测试都正常。

在这里插入图片描述

更多参数请参考:https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html

最后还多测试一下使用APISQL企业私有版,将数据库发布为API,测试都很正常。

在这里插入图片描述

第1种方案(易用):不写代码,生成API

不写代码,生成API

自己生成请求
API请求

第2种的方案(简单):写SQL,生成API

SQL调试器
SQL调试编辑

API测试
API测试

自动生成请求代码
自动生成请求代码

cURL请求和响应
cURL请求和响应

第3种方案(更灵活):用JS,生成API

用JS生成API
按模板,用户只需填写【dsName = “dm8”】和 执行SQL部分【SELECT * FROM EMPLOYEE WHERE EMPLOYEE_NAME = :myName】


// 关于更多示例,请查阅文档 https://open.apisql.cn/book/#/docs/api-js

// 内置网关下有多个数据源,需要指定数据源名称
const dsName = "dm8"
// 数据源达梦 `dm8` 未启用多环境 因此不需要指定 dsDevName
const dsEnvName = null
const resultEng = ctx.dsHelper.getDataSourceEngine(dsName, dsEnvName)

if (resultEng.err) {
    // 获取数据源引擎失败
    ctx.resultObj.err = resultEng.err
    // 必须 使用 `return` 结束函数运行,否则 会继续执行下面的代码 
    return
}

// 测试数据库连接 
const resultTest = await resultEng.eng.testConnect()

if (resultTest.err) {
    console.error("数据库连接失败, err:", resultTest.err)
    ctx.resultObj.err = resultTest.err
    return
}


// 在调用接口是, 通过 网关实时日志( 数据网关 => 日志 ) 即可查看,
console.log("ctx.request.body==>",ctx.request.body)

// 从 http 请求中取参数
const params =  ctx.request.body

if(!params.name){
    ctx.resultObj.err = {
        status:400,
        message:"缺少参数 'name'",
    }
    return 
}

//执行 SQL
const sqlObj = {
    sql: "SELECT * FROM EMPLOYEE WHERE EMPLOYEE_NAME = :myName",
    params: {
        myName: params.name
    }
}
const resultExec = await resultEng.eng.execSqlObjs(sqlObj)

if (resultExec.err) {
    console.error("SQL 执行失败, err:", resultExec.err)
    ctx.resultObj.err = resultExec.err
    return
}

ctx.resultObj.result = resultExec.result


调试API和查看执行结果
运行API

还有控制台,实时查看调试的日志
在这里插入图片描述

常见问题

APISQL云平台与私有版区别是什么?

APISQL云平台与企业私有版功能是一样,只是企业版是完全安装在企业内网,或运行在企业自己的云服务器。

APISQL云平台地址是什么?

APISQL公有云版网址是:https://open.apisql.cn

在线手册有吗?

手册:https://open.apisql.cn/book/#/docs/api-design

APISQL架构是主怎么样的?

APISQL架构图

如何保护API安全?

请参考访问控制:https://open.apisql.cn/book/#/docs/access

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐