以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]切换数据源问题求助(已解决)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=72688)

--  作者:jijianjsj
--  发布时间:2015/8/4 17:00:00
--  [求助]切换数据源问题求助(已解决)
项目在A电脑上(包括数据库)开发后移动到B电脑上,A电脑关闭,这时候项目因为A就打不开了,我现在把数据库在B上也建立相同数据库,然后在BeforeConnectOuterDataSource事件中设置了如下代码:
MessageBox.show(e.ConnectionString)
If Connections.TryConnect(e.ConnectionString) = False Then
    Dim config As String = e.ProjectPath & "config.txt"
    If Filesys.FileExists(config) Then
        Dim Result As DialogResult
        e.HideSplashForm = True
        Result = MessageBox.Show("连接数据库失败,是否读取系统目录下的数据源配置:config.txt","提示", MessageBoxButtons.YesNo)
        e.HideSplashForm = False
        If Result = DialogResult.No Then
            Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("foxtable")
            For Each p As System.Diagnostics.Process In ps
                If p.MainWindowTitle = Nothing OrElse p.MainWindowTitle.contains("公司管理系统") Then
                    p.kill
                End If
            Next
        Else
            Dim strs As String = FileSys.ReadAllText(config)
            strs = strs.Replace(vblf,"")
            Dim str() As String = strs.Split(vbcr)
            Dim cn As String = "Provider=SQLOLEDB.1;Password=" & str(3) & ";Persist Security Info=True;User ID=" & str(2) & ";Initial  Catalog=" & str(1) & ";Data Source=" & str(0)
            MessageBox.Show(Connections.TryConnect(cn))
            If Connections.TryConnect(cn) = True Then
                If e.Name = "ERP" Then
                    e.ConnectionString = cn
                End If
                MessageBox.show(e.ConnectionString)
            Else
                MessageBox.show("连接数据库参数不正确,即将退出系统")
                Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("foxtable")
                For Each p As System.Diagnostics.Process In ps
                    If p.MainWindowTitle = Nothing OrElse p.MainWindowTitle.contains("公司管理系统") Then
                        p.kill
                    End If
                Next
            End If
        End If
    End If
End If
MessageBox.Show("BeforeConnectOuterDataSource结束")

通过项目目录下的文本文件传入B的参数,但是报错,如下图

此主题相关图片如下:qq图片20150804165828.png
按此在新窗口浏览图片

我通过MessageBox.Show,一直到本事件结束,都没有报错,请问怎么解决?



[此贴子已经被作者于2015/8/5 9:29:10编辑过]

--  作者:jijianjsj
--  发布时间:2015/8/4 17:09:00
--  
图片点击可在新窗口打开查看
--  作者:黄训良
--  发布时间:2015/8/4 17:24:00
--  

看看B电脑数据库中表Users是否存在!

 


--  作者:jijianjsj
--  发布时间:2015/8/4 17:35:00
--  
已解决
[此贴子已经被作者于2015/8/5 9:28:34编辑过]

--  作者:大红袍
--  发布时间:2015/8/4 18:40:00
--  

 没有数据库,别人怎么打开你的项目?

 

 提示这个错误,意思是,你的数据库里面,没有包含users表。

 

 


--  作者:jijianjsj
--  发布时间:2015/8/4 18:54:00
--  
数据库在附件里面啊。。。BAK后缀。压缩文件如果有问题的话,后缀改为7Z
[此贴子已经被作者于2015/8/4 18:55:38编辑过]

--  作者:大红袍
--  发布时间:2015/8/4 19:24:00
--  

 bak的备份文件无法直接用啊。

 

 直接上传数据库文件和日志文件。

 

----------------

 

 再说一次,提示这个错误,就是你数据库没有Users表。


--  作者:jijianjsj
--  发布时间:2015/8/4 19:42:00
--  

已解决

[此贴子已经被作者于2015/8/5 9:28:50编辑过]

--  作者:大红袍
--  发布时间:2015/8/4 19:49:00
--  
看7楼
--  作者:jijianjsj
--  发布时间:2015/8/4 21:20:00
--  
看数据库好不好,请你解压我的数据库有没有这张表!!!!!!!!!