以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]外部数据源  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=142412)

--  作者:crazyfengyu
--  发布时间:2019/10/26 9:13:00
--  [求助]外部数据源
在加载数据源的事件中修改了外部数据源连接字符通过域名访问数据库,在开发版本测试可以访问,但是发布程序后无法访问
--  作者:有点蓝
--  发布时间:2019/10/26 9:16:00
--  
提示什么错误。发布程序和源项目都在同一台电脑测试的吗?
--  作者:crazyfengyu
--  发布时间:2019/10/26 9:18:00
--  
是在同一台电脑,提示创建外部链接数据源失败,请联系管理员或开发者,重新设置数据链接字符串
--  作者:有点蓝
--  发布时间:2019/10/26 9:20:00
--  
加载数据源的事件发上来看看
--  作者:crazyfengyu
--  发布时间:2019/10/26 9:24:00
--  
If FileSys.FileExists(ProjectPath & "Attachments\\config.json") Then
    Dim configJson As String = FileSys.ReadAllText(ProjectPath & "Attachments\\config.json",Encoding.Default)
    Dim cjo As JObject = JObject.Parse(configJson)
    If cjo("config")(0) IsNot Nothing Then
        If cjo("config")(0)("type") = "database" Then
            e.C & cjo("config")(0)("host").ToString & "," & cjo("config")(0)("port").ToString & "\\" & cjo("config")(0)("name").ToString
        End If
    End If
    If cjo("config")(1) IsNot Nothing Then
        If cjo("config")(1)("type") = "ftp" Then
            Vars("ftpaddress") = cjo("config")(1)("host").ToString
            Vars("ftpport") = cjo("config")(1)("port").ToString
            UpdatePath = "ftp://fengyu:crazyfengyu1@" & Vars("ftpaddress") & ":" & Vars("ftpport") & "/home/update/"
        End If
    End If
End If

--  作者:程兴刚
--  发布时间:2019/10/26 9:49:00
--  
安装对应版本的office数据库组件!
--  作者:crazyfengyu
--  发布时间:2019/10/26 9:52:00
--  
什么意思?
--  作者:有点蓝
--  发布时间:2019/10/26 10:08:00
--  
发布前和发布后是使用的同一个config.json配置文件吗?注意发布后的Attachments目录在publis\\project\\Attachments,而不是publis\\Attachments
--  作者:crazyfengyu
--  发布时间:2019/10/26 10:12:00
--  
是的,然后就是通过UpdatePath修改的ftp更新地址,好像没有生效,在读取数据源的时候弹框显示正确的,但是更新的时候弹框又变成了项目设置选项里面 填写的
--  作者:有点蓝
--  发布时间:2019/10/26 10:21:00
--  
升级代码的设置放到afteropenproject事件,在调用Syscmd.Project.Update之前即可。

BeforeConnectOuterDataSource事件的时候,ProjectPathUpdatePath这些全局变量还没有初始化的,用不了