达梦数据库工具运行错误

1. 事情起因

  • 这几天开始对一个旧项目进行升级,使用的达梦数据库(DM7)。电脑上之前装了达梦数据库管理工具,但是很久没用了。
  • 话说,这天,在服务器上新建了数据库实例,然后在电脑上打开DM管理工具,选择注册连接,填完信息,点击测试按钮,测试成功,完美,点击确定按钮保存收工。。。
  • 居然保存失败了,然后各种尝试,重启,都无效。删除已有连接也失败。
  • 无奈,只能选择终级方案,重装软件。
  • 先卸载,再安装,打开,报错,好吧,这次连工具都运行不了了;循环几遍,卸载,重启系统,安装,运行,报错……
  • 经过多次重装尝试无果后,只好试着解决一下吧,工具得用啊。

2. 错误描述

  • 概述:达梦数据库安装后,工具无法正常运行;

  • 安装的几个工具,打开都是一样的错误:

  • 根据提示,打开日志文件,错误显示如下:

    java.lang.IllegalStateException: The platform metadata area could not be written: D:\Program Files\dmdbms\tool\workspace\manager\.metadata. By default the platform writes its content 
    under the current working directory when the platform is launched.  Use the -data parameter to 
    specify a different content area for the platform.
    		at org.eclipse.core.internal.runtime.DataArea.assertLocationInitialized(DataArea.java:61)
    		at org.eclipse.core.internal.runtime.DataArea.getStateLocation(DataArea.java:125)
    		at org.eclipse.core.internal.preferences.InstancePreferences.getBaseLocation(InstancePreferences.java:44)
    		at org.eclipse.core.internal.preferences.InstancePreferences.initializeChildren(InstancePreferences.java:199)
    		at org.eclipse.core.internal.preferences.InstancePreferences.<init>(InstancePreferences.java:59)
    		at org.eclipse.core.internal.preferences.InstancePreferences.internalCreate(InstancePreferences.java:209)
    		at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:289)
    		at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:277)
    		at org.eclipse.core.internal.preferences.PreferencesService.createNode(PreferencesService.java:390)
    

3. 问题解决

  • 错误日志经过翻译,大概是“无法写入平台元数据区域”,应该和配置有关系;
  • 经网上查找类似有关联问题的解决方案,大概原因是我的电脑之前因某些操作把 “My Documents” 文件夹改到了D盘下,而安装程序会假设它位于C盘并且尝试在那里打开工作区;
  • 解决的思路就是给启动程序加入 “-data”属性,指定合理的工作区路径;
  • 经过尝试,确认通过修改各工具的启动程序对应的ini配置文件即可,如DM管理工具对应的“manager.exe”,需修改“manager.ini”,原文件如下:
    -startup
    plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.2.R36x_v20101222
    -product
    com.dameng.manager.product
    -showSplash
    manager.bmp
    -data
    workspace/manager
    -vm
    ../jdk/bin
    -vmargs
    -DDM_HOME=../
    -Djava.library.path=../bin
    -Ddameng.log.file=log4j.xml
    -Ddameng.isql.explorer.root=workspace/local/isql
    -Ddameng.dts.explorer.root=workspace/local/dts
    -Duse_bak2=true
    -Dapp.name=manager.exe
    -XX:MaxPermSize=256M
    -Dosgi.nl=zh_CN
    
  • 修改后,文件如下:
    -startup
    plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.2.R36x_v20101222
    -product
    com.dameng.manager.product
    -showSplash
    manager.bmp
    -data
    D:/Users/xhp/.eclipse/workspace/manager
    -vm
    ../jdk/bin
    -vmargs
    -DDM_HOME=../
    -Djava.library.path=../bin
    -Ddameng.log.file=log4j.xml
    -Ddameng.isql.explorer.root=workspace/local/isql
    -Ddameng.dts.explorer.root=workspace/local/dts
    -Duse_bak2=true
    -Dapp.name=manager.exe
    -XX:MaxPermSize=256M
    -Dosgi.nl=zh_CN
    
  • 修改了“-data”属性,指定为文件夹绝对路径;
  • 注意,应该是DM程序把文件夹权限重设了,文件修改完无法保存;我们绕一下,先另存到其他地方同名文件,然后用新文件覆盖旧文件即可;
  • 操作完成后,重新打开DM管理工具,成功;
  • 其他几个工具,都按此方式处理即可。

4. 后记

  • 经过折腾,把几个工具的配置文件都改了一遍,然后都可以正常运行了;
  • 悲剧的是,最开始的问题——DM管理工具无法保存新建的数据库连接,依然存在;意味着,每次打开工具都得新填写连接信息;
  • 上述无法保存的问题,仅有一个“保存失败”的提示,找不到日志,不知道从哪下手解决,网上也找不到类似问题,先搁置下来,凑合用吧,先得继续项目;
  • 到此为止了,希望有空能解决掉遗留问题(希望不大),回头把这坑填了。

5. 填坑更新221008

  • 上述遗留问题——在管理工具里保存注册连接失败的错误,在昨天重新安装DM8时候,灵光一现,解决了;
  • 解决方式:安装的时候,选择的安装路径不要包含空格;
  • 在两台电脑上经过测试,这样安装完都是没问题的;反之。只要安装路径里有空格,就会出现运行错误,在修改配置文件后运行正常,但会出现保存失败的错误。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值