c/s 模式数据库程序分发所面临的问题:
- c/s 开发程序员在建立数据库连接时,连接的数据库服务器往往是固定的.(比如 Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=Empl;Data Source=filesvr") 这里,filesvr 就是 sql server 服务器所在的电脑名称。将来,发布软件时,必须要求客户的服务器电脑名称是 filesvr,这是僵硬的 低级 麻烦的解决问题办法。
- 高级程序员解决该问题的办法是采用 Data Source=变量,但这里的变量需要在安装程序或应用程序中写麻烦的代码,麻烦的管理,很多人感到麻烦或追求进度对连接管理的功能没有做,造成软件维护的麻烦和困难。
- 版权控制功能高手各有自己的解决办法,在都很麻烦。这里提供了一个简便通用的解决办法。
本人开发的 com(类 dll) CSManager.dll 具有以下功能
- 连接自动创建功能。它会自动的判断数据库连接所需信息是否存在,自动的与用户交互,保存并维护这些信息,并提供程序数据库连接所需信息。
- 自动判断能否和数据库建立有效连接,并提示各种可能的故障原因。 这样以来,该 dll 会自动判断是否有数据库服务器可以使用,没有,它自动弹出对话框让你选择,自动保存。每次运行,它自动检测数据库服务器是否可连接,如果连接不上,自动弹出相应的提示信息或对话框。无论网络是否通畅,服务器是否启动,服务器是否瘫痪,它均能适应处理。这样一来,即便主服务器瘫痪,客户程序也可以正常使用倍份数据库服务器。
- 自动版权控制功能,可采用时间限制,次数限制,它不会因使用者更改系统日期或从新安装软件而失去版权控制作用。当超期时,它会自动弹出对话框,上面会显示作者的联系电话 email 版权信息等。
该 dll 方法属性:
- AutoManage 自动管理连接数据库服务器并判断是否连通 自动版权控制功能方法
- Limitdays 软件使用天数限制
- LimitTimes 软件使用次数限制
- ContactEmail 当软件使用超过日期或次数限制后,使用者通过该邮件可以和开发者联系。
- ContactPhone 同上,使用者可以通过电话和开发者联系
- DataBaseComputerName 选中的数据库服务器名称
- LoginName 数据库用户名
- loginPassWord 数据库用户密码
- ShowDiaLogForm 更改登陆服务器 登陆名 登陆密码的对话框
例子:以下以 VB 程序里举例
public DataBaseComputerName As String (数据库服务器 电脑名称)
Public LoginName as string (登陆 sql server 的用户名)
Public LoginPassWord as string (登陆密码)
Private Sub Form_Load()
Dim aa As New CSManager.service
aa.AutoManage
aa.LimitDays=100 限制用户使用 100 天
aa.LimitTimes=5000 限制用户使用 5000 次 当超过任何一个条件软件均不能使用。
aa.ContactEmail ="wang517@21cn.com" (超期时使用者可通过给email 联系作者)
DataBaseComputerName=aa.DataBaseComputerName
LoginName=aa.LoginName
LoginPassWord=aa.loginPassWord
(以上三个变量就可以建立一个有效的数据库连接,不需我再罗嗦了)
Set aa = Nothing
End Sub