Foxtable(狐表)用户栏目专家坐堂 → sql外部数据链接如何动态使用?(已解决)


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

主题:sql外部数据链接如何动态使用?(已解决)

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/3/16 10:27:00 [显示全部帖子]

以下是引用菜鸟foxtable在2009-3-16 9:48:00的发言:
扩展用户属性只是针对使用foxtable自身登陆系统情况下才有用吧?并且不可能要求客户使用软件时每次登陆都要选取或者输入吧?

另外我的系统是自定义登陆怎么办?


有一个想法:在项目当前文件夹中存在一个*.TXT文件,内容为链接设置,打开项目时读取该文本文档内容作为链接设置....这样针对不同客户,只要第一次装机时设置好,以后版本更新时就不必担心每个客户不同的服务器名了...因为我的系统是由N个子系统组成...要是每个客户都设置一次那真是太麻烦了.

上述想法如何实现?
[此贴子已经被作者于2009-3-16 10:22:37编辑过]

如果你服务器名称(IP)经常不变化,可以把它保存在一个TXT文件中,每次登录时自动读取这个TXT文件,论坛上以前贺老师做过一个这样的例子(应该是精华贴),你可以搜索一下.
如果每次登录时服务器名称和IP都可能变化,就应该使用扩展用户属性,即使是自定义登录,也不妨碍,可以在自定义登录窗口出现之前先运行狐表的系统登录窗口,输入一下IP地址,然后再运行自定义的登录窗口即可.
以上两种方式都可以实现,你可以根据需要自行选择.

[此贴子已经被作者于2009-3-16 10:33:30编辑过]

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/3/16 10:59:00 [显示全部帖子]

请参与项目事件---BeforeConnectOuterDataSource事件中有详细说明,下面是其中的一段话:

示例四

假定有一个名为“销售数据”远程数据源,默认的IP地址为119.119.120.120,因为服务器的调整,IP地址可能会发生变化,导致数据源无法连接。
为解决这个问题,可以在用户管理窗口增加一个名为IP的扩展用户属性,让用户在登录的时候,可以输入另一个IP地址,
然后BeforeConnectOuterDataSource事件中加入下面的代码:

If e.Name = "销售数据" Then
    Dim
IP As String = e.User.ExtendedValues("IP") '获得用户输入的IP
   
If IP > "" '如果用户自己输入了IP
        '则用用户输入的IP替换原来的IP

        e.ConnectionString = e.ConnectionString.Replace(
"119.119.120.120", IP)
    End
If
End
If

你也可以用另一种方法解决,在项目文件目录下创建一个ip.txt的文本文件,在该文件中输入最新的IP地址,并在BeforeConnectOuterDataSource事件中设置如下代码:

Dim ipFile As String = e.ProjectPath & "ip.txt"
If
e.Name = "销售数据" Then
    If Filesys.FileExists(ipFile) Then
        Dim ip As String = FileSys.ReadAllText(ipFile)
        e.ConnectionString = e.ConnectionString.Replace("119.119.120.120",ip)
    End
If
End
If


 回到顶部