诗林 发表于 2024-10-6 10:49:44

达梦数据库安装(Apple M芯片MacBook亲测)

因暂时需个达梦数据库的测试环境,所以在M芯片的Macbook安装达梦数据库。
1、下载地点:达梦数据库DM8安装包下载https://eco.dameng.com/download/

https://i-blog.csdnimg.cn/direct/5f25f643090e4639a66a5cdf64396b33.png
https://i-blog.csdnimg.cn/direct/5f29a77f22184954924e650a5ce33777.png
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版达梦,运行后截图

https://i-blog.csdnimg.cn/direct/6d95f9e5ecb342f8800f3461913ad802.png
4、使用DBeaver,可以正常选择到Dameng达梦

https://i-blog.csdnimg.cn/direct/3ef2e6eee5bc49b6afc68931e87c4335.png
5、建用户、授权、建表、插入、查询数据,测试都正常。

https://i-blog.csdnimg.cn/direct/702801c5c749471dbb14bf3c654c3f73.png
更多参数请参考:https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html

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

https://i-blog.csdnimg.cn/direct/ed25fb9efd5b405195ae5e55e23f6950.png
第1种方案(易用):不写代码,天生API

https://i-blog.csdnimg.cn/direct/5f418d08bae541a4b340b0e267a3c3e2.png
自己天生哀求
https://i-blog.csdnimg.cn/direct/d8855f921a104e90a1905497299ac79f.png
第2种的方案(简单):写SQL,天生API

SQL调试器
https://i-blog.csdnimg.cn/direct/554b670fb24048c3a88c932343a4f56c.png
API测试
https://i-blog.csdnimg.cn/direct/9f2de06fa9c54c5c86da59b32684bf3a.png
主动天生哀求代码
https://i-blog.csdnimg.cn/direct/32329afe7a204a8bb229f07c65d2633b.png
cURL哀求和响应
https://i-blog.csdnimg.cn/direct/3eb3c840bda04b409cd8f7bf080f46aa.png
第3种方案(更灵活):用JS,天生API

https://i-blog.csdnimg.cn/direct/f7c3275f49124285aaccf1d39badfc87.png
按模板,用户只需填写【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和检察实行结果
https://i-blog.csdnimg.cn/direct/baef83f40a7143d4a26204f689e36125.png
另有控制台,实时检察调试的日志
https://i-blog.csdnimg.cn/direct/9314aa7e07364450bda44913fd489fc3.png
常见问题

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

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

APISQL公有云版网址是:https://open.apisql.cn
在线手册有吗?

手册:https://open.apisql.cn/book/#/docs/api-design
APISQL架构是主怎么样的?

https://i-blog.csdnimg.cn/direct/7e0d5460482640b4adf9c40ef9867ee3.png
如何保护API安全?

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 达梦数据库安装(Apple M芯片MacBook亲测)