以文本方式查看主题

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

--  作者:lgj716330
--  发布时间:2016/1/24 9:59:00
--  外部数据源

[此贴子已经被作者于2016/1/24 10:12:58编辑过]

--  作者:lgj716330
--  发布时间:2016/1/24 10:04:00
--  
我现在是用的外部数据源,用户管理是不是也要建立用户外部数据表吗
但用户使用外部数据表后,系统进不去了
设置了默认用户后也进不去
搞不清楚问题在哪里
[此贴子已经被作者于2016/1/24 10:41:38编辑过]

--  作者:js4222
--  发布时间:2016/1/24 10:50:00
--  
按ctrl进去
在修改

--  作者:大红袍
--  发布时间:2016/1/24 11:28:00
--  

应该是你连接不上数据库吧?

 

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

 


--  作者:lgj716330
--  发布时间:2016/1/24 12:06:00
--  
嗯,这个我知道的,就是用户管理启用外部数据源后,系统就出问题,用户管理不启用外部数据源都没问题,找不出根源在哪
--  作者:lgj716330
--  发布时间:2016/1/24 12:12:00
--  
是不是要对用户管理单独建立一个数据源呢,我是跟其他数据表共用一个数据源的
--  作者:lgj716330
--  发布时间:2016/1/24 12:26:00
--  
刚查出问题在哪了,就是不知道怎么解决

我在BeforeConnectOuterDataSource事件中加入了下面的代码

If e.Name = "CWBBGL" Then
    Dim IP As String = e.User.ExtendedValues("IP") \'获得用户输入的IP
    If IP > "" \'如果用户自己输入了IP
        \'则用用户输入的IP替换原来的IP
        e.ConnectionString = e.ConnectionString.Replace("100.100.1.10", IP)
    End If
End If

如果把这个代码去掉,问题就没了
但我需要动态改IP地址,要怎么解决这个问题呢

[此贴子已经被作者于2016/1/24 12:29:19编辑过]

--  作者:lgj716330
--  发布时间:2016/1/24 13:09:00
--  
1、开发者和管理员的设置信息,始终保存在项目文件中,只有普通的设置信息,才会保存在外部表中,这样即使外部数据源无法连接,我们依然可以登录系统,重新调整设置。
2、项目文件中的设置信息,和外部数据表中的设置信息,是各自独立存在的,可以随时切换。
3、由于使外部表存储信息时,是先连接数据源,再打开登录窗口,所以不能在
BeforeConnectOuterDataSource事件中使,否则会出错。

帮助中是这样说的
那使用外部表存储用户信息时,扩展用户属性又如何设置呢

--  作者:lgj716330
--  发布时间:2016/1/24 13:28:00
--  
有大神在线吗
--  作者:大红袍
--  发布时间:2016/1/24 14:17:00
--  

红色代码,必须是你原来设置的数据源ip

 

 

If e.Name = "CWBBGL" Then
    Dim IP As String = e.User.ExtendedValues("IP") \'获得用户输入的IP
    If IP > "" \'如果用户自己输入了IP
        \'则用用户输入的IP替换原来的IP
        e.ConnectionString = e.ConnectionString.Replace("100.100.1.10", IP)
    End If
End If