以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  报错提示,请教解决方法(不能打开数据库)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77785)

--  作者:ljh29206
--  发布时间:2015/11/25 14:07:00
--  报错提示,请教解决方法(不能打开数据库)
提示内容

不能打开数据库。应用程序可能无法识别该数据库,或文件可能损坏。

请教,

我有1台电脑,做主机  用 access 的 文件做数据库

一台电脑对一个表写入数据,其他4台电脑 都加载这个表,时间 定时为 5秒追载一次。

以前一台电脑的时候没出现过这个问题, 现在加了3台电脑进去读数后,发现这4台电脑都随机 弹出  

”不能打开数据库。应用程序可能无法识别该数据库,或文件可能损坏。“

这个错误!

代码如下
If TryConnectHost("192.168.44.170") Then
   Dim id As Integer = DataTables("条码录入表").Compute("Max(_Identify)")
    Dim Filter As String = "[_Identify] > " & id
    DataTables("条码录入表").AppendLoad(Filter, False)
    If id > 0 Then
    e.Form.StopRedraw
    Dim mydate1 As Date  = DataTables("条码录入表").DataRows(0)("计划日期")
    Dim str1 As String = DataTables("条码录入表").DataRows(0)("班次")
    
    DataTables("生产计划表").LoadFilter="计划日期 = #" & mydate1 & "# and 班次 = \'" & str1 & "\'"
    DataTables("生产计划表").Load
    
    
    Dim str As String = DataTables("条码录入表").DataRows(DataTables("条码录入表").DataRows.Count-1)("条码前缀")
    If str = "SCJS00000000" Then
        Syscmd.Project.Exit(False)
        Return
    End If
    
    If Vars("dangqianzhi") <> DataTables("条码录入表").DataRows.Count-1 Then
        Vars("dangqianzhi") = DataTables("条码录入表").DataRows.Count-1
        Dim Int As Integer
        Int = DataTables("条码录入表").DataRows(DataTables("条码录入表").DataRows.Count-1)("序号")
        Dim dr As DataRow = DataTables("生产计划表").Find("序号 = \'" & int & "\'")
        If dr IsNot Nothing Then
            Dim strb As String = dr("车型")
            If strb.Contains("/") Then
                strb = strb.Replace("/","")
            End If
            Dim pb As WinForm.PictureBox = Forms("上盖").Controls("PictureBox1")
            pb.Image = GetImage(ProjectPath & "\\图片\\" & strb & "上盖.jpg" )
            
        End If
    End If
    e.Form.ResumeRedraw
    End If
Else
\'    MessageBox.Show("网络连接有问题,请班长确认!" & vbcrlf & vbcrlf & "连接完成后,重启该主机电脑!","提示")
    Syscmd.Project.Exit(False)
End If

我查过每次 提示这个错误,  foxtable 都会卡死 ,点击 错误详细 都点不开
[此贴子已经被作者于2015/11/25 14:22:12编辑过]

--  作者:大红袍
--  发布时间:2015/11/25 14:27:00
--  

你放数据库的电脑肯定死机了导致的。

 

1、间隔时间弄长一些测试;

 

2、你放数据库的电脑,看是否执行了什么耗时的操作,导致无法相应其它电脑的请求。


--  作者:ljh29206
--  发布时间:2015/11/25 15:00:00
--  
我计时器里面进行了几个1秒运算一次的操作,但这些都不会在数据库 进行录入输出。
只是对 窗口的 label 进行数据重算

另外 在一个 textbox _ValueChanged
事件里  运行里  7139 个字符 的代码, 但这个也不到1秒的事情。

这个电脑用 i3 的配置 win7 32位系统 ,开机都很慢。。。

如果 我换成固态硬盘,不知道会不会好点,还是把这个数据库 搬到其他机子上?


--  作者:大红袍
--  发布时间:2015/11/25 15:14:00
--  

应该是你机子慢的原因。你要确定出问题的时候你这个电脑是否运行流畅。

 

不流畅的话,看哪些东西占用了cpu和内存,杀死。或者重装一下系统。照理电脑配置不会太差。