以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  奇怪的现象!!!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=57089)

--  作者:skyman1188
--  发布时间:2014/9/17 22:57:00
--  奇怪的现象!!!
给每个人权限,打开的时候显示不同的行。但是最近出现一个怪现象,如果当时不知道网络信号不好还是电脑运行程序太多卡顿的问题,打开程序时候卡了很久才打开,有时候是十几分钟,这时候状况出现了,明明这个账号有权限限制的,但是居然所有的行都显示了。
麻烦问一下这个是怎么回事?是和服务器交互出问题了吗?感觉是和服务器数据库认证通过了,但是程序分配权限的这段程序给跳过去了没有运行。有没有办法在程序超时没有打开时候直接关掉或者有更好的处理方式图片点击可在新窗口打开查看
[此贴子已经被作者于2014-9-17 22:58:56编辑过]

--  作者:有点甜
--  发布时间:2014/9/17 23:03:00
--  

 可以,你可以在beforeopenproject事件监测是否能连接数据库,如果不能,就退出。

 

 

Dim s As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\data\\Northwind.mdb;Persist Security Info=False"
If
Connections.TryConnect(s) = False Then
    MessageBox.Show("数据源无法连通!"
)
End If

 

 

http://www.foxtable.com/help/topics/1615.htm

 


--  作者:skyman1188
--  发布时间:2014/9/22 10:48:00
--  不行啊
我这里是远程服务器上的SQl2005数据库,这个语句不行啊?直接卡在这里半天不动了。
--  作者:有点甜
--  发布时间:2014/9/22 10:52:00
--  

sqlserver的连接字符串不是这个。

 

http://www.foxtable.com/help/topics/1810.htm

 

1、你可以先ping服务器,如果不能ping通,就不要连接了

 

http://www.foxtable.com/help/topics/1401.htm

 

2、ping通之后,在测试连接


--  作者:skyman1188
--  发布时间:2014/9/22 13:25:00
--  我测试了,网络开关是没有问题
Dim s As String = "Provider=SQLOLEDB;Password=xxx;Persist Security Info=True;User ID=xxx;Initial Catalog=xxx;Data Source=xxx"
If Network.Ping("x.x.x.x") Then
If Connections.TryConnect(s) = False  Then
           MessageBox.Show("数据源无法连通-2!")
          system.diagnostics.process.GetProcessesByName("foxtable")(0).kill
        End If
Else
MessageBox.Show("数据源无法连通-1!")
        system.diagnostics.process.GetProcessesByName("foxtable")(0).kill
End If

这两个故障都模拟出来了,程序直接退出。但是我原来描述的权限载入出错的问题模拟不出来,那个偶尔才出来的。
这个问题是感觉网络不好时候只运行了部分程序的感觉,这些做法好似都治标不治本的感觉。
--  作者:有点甜
--  发布时间:2014/9/22 14:33:00
--  
回复5楼,如果无法连通数据库,就退出系统了,就不会存在你的载入出错等问题。
--  作者:skyman1188
--  发布时间:2014/9/22 15:15:00
--  谢谢
好的,谢谢。我先试一段时间如果没有人向我反馈问题了,说明一切OK了。