Foxtable(狐表)用户栏目专家坐堂 → 数据库迁移后的问题


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

主题:数据库迁移后的问题

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


加好友 发短信
等级:五尾狐 帖子:1174 积分:8782 威望:0 精华:0 注册:2012/4/18 16:28:00
数据库迁移后的问题  发帖心情 Post By:2017/4/17 14:26:00 [显示全部帖子]

请教老师,原来在本机电脑上装了SQLSERVER2008研发版的数据库,现把数据库迁移到阿里云的数据库SQLSERVER2008企业版,进行测试,出现以下问题

 

1. 从自定义登录窗口登录后,主窗口打不开,也不报错,不显示任何窗口,无法使用已设计好的项目;原来在本机连接的数据库上测试所有功能都是正常的.

 

迁移方式,采用的是任务——生成脚本,把脚本文件拷贝至阿里云服务器上,执行脚本文件

 

在设计项目上已修改数据库的连接都没有问题,也能从新的数据库调取数据,就是打不开主窗口。


 回到顶部
帅哥哟,离线,有人找我吗?
douglas738888
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1174 积分:8782 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2017/4/21 21:45:00 [显示全部帖子]

请教老师,远程数据库重新按备份,再还原迁移数据库后,1楼的问题依然存在,经反复查验测试,主窗口的Timertick设置为False可以打开主窗口,设置为True启用代码就无法打开主窗口,主窗口的Timertick里有如下类似代码段二十多个,不知问题是否由类似代码导致,现在不知怎么解决了???

 

Dim pbx As WinForm.PictureBox = e.Form.Controls("PictureBox3")
Dim lbl As WinForm.Label = e.Form.Controls("Label130")
If lbl IsNot Nothing Then
   Dim Count As Double
   Count = DataTables("项目信息主表").SQLCompute("Count(项目编号)","信息甄批_投审人员 Like  '%" & _UserName & "%' and (信息甄批_投审确认 not Like '%" & _UserName & "%' or 信息甄批_投审确认 Is null)")
   If Count = 0 Then
        pbx.ImageFile = "Green.ico" 
        lbl.ForeColor = Color.Green  
    ElseIf Count >= 1 Then
        pbx.ImageFile= "Red.ico" 
        lbl.ForeColor = Color.Red  
    End If
lbl.Text = "" & Count & ""
Application.DoEvents() 
End If


 回到顶部
帅哥哟,离线,有人找我吗?
douglas738888
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1174 积分:8782 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2017/4/24 15:55:00 [显示全部帖子]

经过,几天的折腾,连接阿里云数据库后主窗口不能打开的问题依然存在,经测试

 

1. 在局域网上木有这个问题,一切正常,速度也很快

 

2. 就是不启用主窗口的TIMERTICK,或TIMERTICK只有少量代码,有时可打开主窗口,但速度很慢很慢;如果代码多了,根本打不开主窗口

 

3. 数据源连接已是正确的,能正常从数据库调用数据

 

4. 把TIMERTICK里的全部代码放在命令窗口测试,没有任何提示,应该也是正常的

 

怀疑是SQL SERVER 2008 R2的问题,也在阿里云的ECS上重新装了SQL2008 ,也是同样的问题,现在都不知道问题在哪里了???


 回到顶部
帅哥哟,离线,有人找我吗?
douglas738888
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1174 积分:8782 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2017/4/24 16:17:00 [显示全部帖子]

老师的这个方法,我也试过,全部afterload代码清除不使用,也是一样,

 

只有把timertick里面的代码不启用或全部清除才能打开主窗口,也测试过在timertick里面一段代码一段代码的加入测试,有时候加一段、二段可以打开,有时候又不行;有时候加十段代码可以打开,多数时候又不行 ,1楼代码我还加上了  If forms("主窗口").Opened Then,每段代码都这样加了,也不行,就是打不开主窗口,除非不用timertick

 

其他表都是外部表,只有主窗口的所有者表是内部表,是否会是这个问题

[此贴子已经被作者于2017/4/24 16:19:30编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
douglas738888
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1174 积分:8782 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2017/4/24 16:45:00 [显示全部帖子]

代码段如下,大概同类的代码段有40个,间隔1000

 

If forms("主窗口").Opened Then
Dim pbx As WinForm.PictureBox = Forms("主窗口").Controls("PictureBox3")
Dim lbl As WinForm.Label = Forms("主窗口").Controls("Label130")
If lbl IsNot Nothing Then
   Dim Count As Integer 'Double
   Count = DataTables("项目信息主表").SQLCompute("Count(项目编号)","信息甄批_投审人员 Like  '%" & _UserName & "%' and (信息甄批_投审确认 not Like '%" & _UserName & "%' or 信息甄批_投审确认 Is null)")
   If Count = 0 Then
        pbx.ImageFile = "Green.ico" 
        lbl.ForeColor = Color.Green  
    ElseIf Count >= 1 Then
        pbx.ImageFile= "Red.ico" 
        lbl.ForeColor = Color.Red  
    End If
lbl.Text = "" & Count & ""
Application.DoEvents() 
   End If
End If


 回到顶部