真是搞不懂,这么大的加密狗厂家做出的管理工具如此脆弱。我说的脆弱并不是加密狗容易被破解,是说管理软件本身问题很多。以 Business Studio 工具为例,常见的几个问题:
- 电脑更换后数据库无法导出;
- 经常莫名奇妙地连接不上(报告通信失败,其实分好几种情况)
- 响应非常的慢。搞不懂啊,你写狗慢也就算了,程序慢没道理啊,本地的数据库。
好了总之,这个管理软件我站在一个软件开发人员的角度去看,那叫一个烂的要死。针对Sentinel Hasp Business Studio无法连接的问题我下面介绍怎么解决,顺便说明在我解决问题的同时,我大致了解了下软件的架构,从开发角度。
错误:upable to connect to Business Studio Server. Communication error.
运行:Vendor Suite Business Studio
从我3年的使用经历看,大致分这么几种情况:
- 相应的服务没有启动;
- 数据库连接不上(HASPSRMDATABASE)
- 端口被占用
一 、相应的服务没有启动:
除了上面的东西,去资源管理器中寻找一个hasp_cld.exe的进程,必须至少有一个,没有的话自己去安装目录搜索,然后运行。
二、端口被占用
具体需要哪些端口呢,这个我是查看了下配置文件,见:C:\Program Files\Aladdin\HASP SRM Server\Servers\HASP SRM Server下的hasp_svr.cfg文件,里面2个字段:CHILD_PORT= 444和CLIENT_PORT= 443。去"开始"中输入"cmd",然后控制台输入"netstat –ano".
查看以上端口是否存在,正常如下:
记得把最后一列的PID记住。
如果以上端口不存在,说明第一步服务没启动,如果以上服务启动,确保是Hasp的进程启动的。怎么看,进“任务管理器”-》“查看”-》“选择列”-》把PID选上。看下上图443的PID是否是HASP的。比如上图显示是3180,对应的应该有下图:
什么情况下可能占用呢,比如IIS,去服务中关掉。
以上确认后,说明Hasp本身没问题了。
三、数据库连接不上
什么数据库呢,这个看hasp_svr.cfg里面:NECT_STRING= dbi:ODBC:driver={SQLServer};server=PC-WORK\HASPSRMDATABASE;uid=sa;pwd=BusStudio2.10;database=SRMServer。
好吧,密码、用户名直接明文啊,还加密狗管理程序呢。直接用Sqlserver 2005的Microsoft SQL Server Management Studio Express
1.
如果没开,那么用SQL Server Surface Area Configuration去打开:
如果以上检查正确,还是连不上,那可能是一种情况,那就是你的机器改过机器名。怎么知道呢,去“我的电脑”—》“属性”-》“计算机名”看:
我就是这种情况。下面看我的经历:我的电脑名称是”PC-WORK”,但我在配置文件中发现却是“3746e7c2a3764df”,因为“PC-WORK”是我之后改的。好吧用“PC-WORK”试下。Microsoft SQL Server Management Studio Express
难道这些信息不能写在配置信息里面。于是我去找配置文件,发现HASP SRM Server下面的*.cfg文件里面全部都有数据库连接的参数,竟然不是统一配置的。于是我每个都替换“3746e7c2a3764df”为我新的名字“PC-WORK”。保存后重启服务,发现数据库里面还是没改。于是我又手动把数据库里的表字段全部手动改了下。连接下,终于连接成功了。
作为一个软件研发人员,我非常鄙视这种处理方式:
l
四、注意事项
好了,我总结下注意事项,另外说下怎么转移数据库。
-
HASP Server安装后就不要改计算机名,切记。改了就得像我一样手动改回来。
- 安装后的机器尽量不要作为开发之用,也别做娱乐。要不有些服务会关掉或者端口会被占用。如果一定要用,记得我上面提到的服务要开。有些服务尽量别开,比如:IIS和Apache
-
千万别卸载Sqlserver 或者改名为HASPSRMDATABASE的数据库实例。
-
通过上面的经历,那么怎么转移数据就很简单了。先备份HASPSRMDATABASE,新机器安装后恢复。然后手动改掉表“ServiceData”里面的URL前缀。