Foxtable(狐表)用户栏目专家坐堂 → 当连接外部数据源的连接字符串不正确时,怎样让系统自动退出?


  共有28224人关注过本帖树形打印复制链接

主题:当连接外部数据源的连接字符串不正确时,怎样让系统自动退出?

帅哥哟,离线,有人找我吗?
菜鸟foxtable
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/3/20 9:33:00 [显示全部帖子]

前面好多人都提出了自己的意见,我这个门外汉也来说说,

本身我们单位已有一医院信息管理HIS系统,采用ORACLE数据库,它的做法是安装客户端时已经在进行数据库链接的设置,设置正确才能正常运行,而安装客户端的工作当然是开发者或者系统管理员做的,安装完成后,当后台数据库没打开情况下,客户端直接弹出后台数据库关闭提示,根本不提供任何更改机会,更不要说能看到链接字符串.....

鉴于此,链接字符串并不需要在客户端启动出现链接错误时更改,只是在安装时一次设置完成.以后需要更改链接密码时,重新安装客户端更改链接即可.

我想,不会有哪个管理员会频繁更改链接字符串吧?即使有也可以用下面的方法解决.普通操作人员根本不需要也不允许接触如此重要的数据机密...

BeforeConnectOuterDataSource事件

示例四

假定有一个名为“销售数据”远程数据源,默认的IP地址为119.119.120.120,因为服务器的调整,IP地址可能会发生变化,导致数据源无法连接。
为解决这个问题,可以在用户管理窗口增加一个名为IP的扩展用户属性,让用户在登录的时候,可以输入另一个IP地址,
然后BeforeConnectOuterDataSource事件中加入下面的代码:

If e.Name = "销售数据" Then
    Dim
IP As String = e.User.ExtendedValues("IP") '获得用户输入的IP
   
If IP > "" '如果用户自己输入了IP
        '则用用户输入的IP替换原来的IP

        e.ConnectionString = e.ConnectionString.Replace(
"119.119.120.120", IP)
    End
If
End
If

你也可以用另一种方法解决,在项目文件目录下创建一个ip.txt的文本文件,在该文件中输入最新的IP地址,并在BeforeConnectOuterDataSource事件中设置如下代码:

Dim ipFile As String = e.ProjectPath & "ip.txt"
If
e.Name = "销售数据" Then
    If Filesys.FileExists(ipFile) Then
        Dim ip As String = FileSys.ReadAllText(ipFile)
        e.ConnectionString = e.ConnectionString.Replace("119.119.120.120",ip)
    End
If
End
If



 

[此贴子已经被作者于2009-3-20 9:36:20编辑过]

 回到顶部