EOS开发平台中数据库视图管理添加达梦数据库测试连接成功,展开数据库在模式上右键点击属性,取消禁用筛选器,点击选择单选按钮无内容加载出来,不能进行选择

本文介绍了一种在EOS开发平台中遇到的数据库视图管理问题,即无法通过右键属性选择模式。解决办法是修正URL,区分加载所有模式与单个模式的写法,并提供了解决步骤和相关链接。

【问题描述】

EOS开发平台中数据库视图管理添加达梦数据库测试连接成功,展开数据库在模式上右键点击属性,取消禁用筛选器,点击选择单选按钮无内容加载出来,不能进行选择。

【解决方案】

这个问题是URL写法不正确导致的:(配置完数据库时“jdbc:dm://127.0.0.1:5236/“中的“/”后面默认的会有“[schemaName]”将此处去掉就可以解决此问题)

1、加载所有模式的url写法: jdbc:dm://127.0.0.1:5236/ 必须加上"/"在尾部 这样会显示所有模式

2、加载单个模式的url写法: jdbc:dm://127.0.0.1:5236/FENGYE 这样只会显示FENGYE一个模式

【原文链接】

http://doc.primeton.com/pages/viewpage.action?pageId=61924007 

 

EOS开发中进行数据库操作主要依赖于EOSIO提供的持久化API,这些API允许智能合约在区块链上存储和检索数据。以下是操作数据库的方法、使用指南和最佳实践: ### 数据库操作方法 EOS智能合约使用`multi_index`类来进行数据库操作。`multi_index`是一个高效的数据库接口,支持创建、读取、更新和删除(CRUD)操作。以下是一个简单的示例,展示如何定义和操作一个数据表: ```cpp #include <eosio/eosio.hpp> using namespace eosio; CONTRACT hello : public contract { public: using contract::contract; ACTION hi(name user) { require_auth(user); users_table users(get_self(), get_self().value); auto itr = users.find(user.value); if (itr == users.end()) { users.emplace(get_self(), [&](auto& row) { row.user = user; row.balance = 100; }); } else { users.modify(itr, get_self(), [&](auto& row) { row.balance += 100; }); } } private: TABLE user { name user; uint64_t balance; uint64_t primary_key() const { return user.value; } }; typedef multi_index<"users"_n, user> users_table; }; ``` 在这个示例中,定义了一个名为`users`的数据表,存储用户的名称和余额。`multi_index`的构造函数接受两个参数:第一个是表名,第二个是合约账户名。`emplace`方法用于插入新记录,`modify`方法用于更新现有记录。 ### 使用指南 1. **定义数据结构**:首先需要定义一个数据结构,表示要存储的数据。数据结构中的每个字段都应有明确的类型。 2. **创建multi_index实例**:使用`multi_index`类创建一个实例,指定表名和合约账户名。 3. **执行CRUD操作**:使用`multi_index`提供的方法进行创建、读取、更新和删除操作。 ### 最佳实践 1. **权限管理**:确保在执行数据库操作时,调用者具有适当的权限。使用`require_auth`函数验证调用者的身份。 2. **性能优化**:避免在智能合约中执行大量的数据库操作,因为这可能导致性能瓶颈。尽量减少链上操作,将复杂的计算移到链下。 3. **数据一致性**:在更新数据时,使用事务确保数据的一致性。`multi_index`的`modify`方法支持事务性更新。 4. **安全性**:确保数据表的设计符合安全要求。避免暴露敏感数据,并使用适当的加密措施。 通过遵循这些方法和最佳实践,可以在EOS开发中有效地进行数据库操作,确保智能合约的安全性和性能[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值