Foxtable(狐表)用户栏目专家坐堂 → 关于远程连接SQL的问题!


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

主题:关于远程连接SQL的问题!

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


加好友 发短信
等级:婴狐 帖子:9 积分:128 威望:0 精华:0 注册:2013/12/30 10:15:00
关于远程连接SQL的问题!  发帖心情 Post By:2014/1/2 21:10:00 [显示全部帖子]

在使用远程SQL数据时,一般要先创建一个数据源,但在发布后,用户的SQL数据库IP地址,用户名,密码可能都不一样,想咨询一下:如何在程序运行时创建连接字符。

可以任意的修改SQL服务器的IP地址,用户名,密码。


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


加好友 发短信
等级:婴狐 帖子:9 积分:128 威望:0 精华:0 注册:2013/12/30 10:15:00
  发帖心情 Post By:2014/1/2 21:22:00 [显示全部帖子]

谢谢!

示例四

假定有一个名为“销售数据”远程数据源,默认的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

 

这个已经看了,这个也是先设好数据源,如果发布后,用户安装时,肯定要修改IP,用户名,密码什么的,这个从哪里能修改呢?

另外,发布后的程序,如何通过菜单修改数据源,我是指编译成脱离FOXTABLE的程序。


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


加好友 发短信
等级:婴狐 帖子:9 积分:128 威望:0 精华:0 注册:2013/12/30 10:15:00
  发帖心情 Post By:2014/1/2 21:33:00 [显示全部帖子]

这个也看了。主要考虑用文本文件保存存在不安全因素,因为IP地址,用户名,密码都是明文保存的。

 

还没试过注册表。

 

不知道FOXTABLE中有没有对字符加解密的函数,如果用文本保存,最好能加解密。

 

 


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


加好友 发短信
等级:婴狐 帖子:9 积分:128 威望:0 精华:0 注册:2013/12/30 10:15:00
  发帖心情 Post By:2014/1/2 21:53:00 [显示全部帖子]

谢谢,学习中。。。

如此可以自己设置连接字符串了。

 

当数据库连接不成功时,让用户输入IP,用户名,密码,生成 连接字符串,然后再加载数据,用户登录!


 回到顶部