mremoteng 初步使用记录

mremoteng对我而言最大的优势特性就是配置可以使用数据库,这样我可以统一管理,而不是每个电脑都要配置一套。 前天下载了之后,无论是稳定版本还是预发布版本,包括最新的nightly版本,连接mysql数据库之后,不是表不存在, 就是莫名的字符错误。由于提示的错误简短的不知道具体是啥意思,就只好去拿源代码来看,开源的好处不满意就去改进它。

为此,我还安装了占用磁盘空间很大的vs以及.net开发环境。

关于mysql数据库的问题,主要集中在以下方面:

  1. 数据库中的表不存在 目前(20231119)已经发布的版本,数据库中的表都需要自建的。github的issue中提到的自建的脚本,版本比较老,会有 各种问题,比如字段不存在或者版本不对啥的(我没有测试过所有的建表配置),最新的开发版的代码则内置了建表脚本。
  2. 字段重复 由于1中的建表脚本的版本,可能某个表格的字段已经存在了,于是开发版编译出来的就没办法运行了。最后,我的解决办法是使用 开发版去创建表格。但发现也还是有问题,说版本不匹配之类的,刚开始我以为对mysql服务器的版本有要求,最后调试发现代码中 创建的初始化表格中的版本是2.8,而代码中写死的当前代码配置是3.0,只要修改源代码中的创建表格模板。然后接着发现插入数据 字段值要求非空而未传入变量,只好改改改。最后又发现同一个服务器中无法使用不同的数据库,就又改改改。源码在手,天下我有。
  3. 字符集 这个是很坑的一个内容,一般启动之后,我这边默认的中文,然后连接无法加入,表中也不存在。提示文字有问题,直到我默认的语言修改 为英文之后,完全的一个新的就不报错了。尝试加入发现又报错,才定位到数据库的字符集问题。看issue中说不支持utf8mb4之类的, 手动把数据库的字符集修改为utf8mb4,包括表格, 比如下面的方式:

    alter database remoteng2  character SET utf8mb4;
     ALTER TABLE tblCons CONVERT TO CHARACTER SET utf8mb4;
    
  4. vcruntime140.dll问题 编译后我拿到另外一台电脑上使用,结果发现缺少vcruntime140.dll,下载个vc的运行库的包吧,还是报告这个问题,最后发现是puttyng 依赖这个,发现已经发行的版本不需要依赖,就复制过来,结果又提示-pwdfile之类的问题,看来还是要用开发版自带的那个puttyng。最后 发现这个竟然依赖的是x86版本,而不是x86_64的版本。
  5. 缺陷 我没有考虑mremoteng的数据库设计,但我注意到,保存到数据库中的连接,id的值都较大,我不清除这个是每次都删了老的重新插入新的还是 在之前的老的id上修改变动。我也不喜欢将各个配置的参数都作为一个字段去定义,我更喜欢将配置的参数作为一个长长的json格式的字符串之类 的去写入到数据库中,这样往后做兼容升级会比较容易。 mremoteng_sql.png lightbox.png
发布日期:
分类:技术

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据