Foxtable(狐表)用户栏目专家坐堂 → 关于和Web数据源的问题


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

主题:关于和Web数据源的问题

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
关于和Web数据源的问题  发帖心情 Post By:2023/8/18 10:33:00 [只看该作者]

在Web数据源出现之前,如果要开发基于互联网的管理系统,须使用SQL Server,现在我们也可以用Access了,大大简化服务端的搭建和准备工作,当然由于Access的并发量和负载能力都有限,所以仅适合搭建一些中小型的管理系统,大的管理系统依然应该采用SQL Server数据库。
问题1:CS项目也可以使用Web数据源?
问题2:Web数据源是可以不用云服务器,本地服务器、局域网,实现异地,跨市、跨省连接,实现数据共享?
问题3:CS项目Access,局域网是不是也可以用Web数据源,这样就不用Access的数据库的文件在局域网里共享?
问题4:从帮助上,没讲如何对Web数据源安全,如下面,都这么了然
图片点击可在新窗口打开查看

例如:

If e.Name = "Orders" Then
    Dim sb As New StringBuilder
    sb.AppendLine("http://127.0.0.1/DataServer.htm")
    
sb.AppendLine("-FormData-")
    sb.AppendLine("UserName:张三")
    sb.AppendLine("Password:888")
    e.ConnectionString = sb.ToString()

End
 If

运行过程中创建和修改Web数据源

可以在运行过程中创建一个Web数据源,例如:

Dim sb As New StringBuilder
sb
.AppendLine("http://127.0.0.1/DataServer.htm")
sb
.AppendLine("-FormData-")
sb
.AppendLine("UserName:张三")
sb
.AppendLine("Password:888")
Connections
.Add("Sales",sb.ToString)

你也可以在运行过程中修改Web数据源的属性,例如:

Connections
("Orders").DataServer = "http://127.0.0.1/DataServer.htm"
Connections
("Orders").FormData("UserName") = "李四"
Connections
("Orders").FormData("PassWord") = "999"
Connections
("Orders").FormData("AccessToken") = "asgkfd9is45" '添加一个新的表单项

问题5:用ADO技术连接,也可以使用Web数据源?

问题6:使用Web数据源,要用狐表,

6.1开发时:开发一个客户端,一个服务端,客户端开发时,包括业务事件,数据库,连接服务器事项,服务端开发只做数据,服务器开启界面?

6.2项目发布时,客户端安装在每个用户电脑(只包含业务事件,连接服务器数据源连接事件,不用包含数据库,因为数据库在服务器在服务端客户端连接服务器即可运行操作,日常业务处理?




[此贴子已经被作者于2023/8/18 10:34:33编辑过]

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


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/18 11:01:00 [只看该作者]

1、可以
2、web数据源是客户端和数据库的中间代理,避免客户端直连数据库,和使用什么样的服务器、什么样的网络没有什么关系。
3、可以
4、web数据源本身就是进行加密传输的。当然也可以自己增加登录控制,增加安全性
5、不能,仅支持内置的数据源设置
6、
1)服务端项目只需做这些事情:http://www.foxtable.com/mobilehelp/topics/283.htm
2)是的

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/8/18 11:25:00 [只看该作者]

官方的QQClien,QQServer就是web数据源实例?

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/8/18 11:44:00 [只看该作者]

问题5:用ADO技术连接,也可以使用Web数据源?
开发时:开发一个客户端ADO技术连接,一个服务端用下面内置,这样是否可以?
图片点击可在新窗口打开查看
另:开发一个客户端用上面内置,对以窗口开发比较不友好,有以下问题:
1.特别是关联表,关联表只在一处显示,由于业务需要,要另处显示,就是出现异常,主表与明细表的数据显示不致,常只见主表数据,不见明细的数据,勉励可以模拟关联,但还是有时也有异常;
2.项目启动,窗口启动,由内置把表加载狐表上,发布需对其进行限制,不限制项目运行会很慢,项目大,业务表多,这个业务逻辑,和处理比较杂复,也是常出现异常。

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


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/18 14:03:00 [只看该作者]

以下是引用lin98在2023/8/18 11:25:00的发言:
官方的QQClien,QQServer就是web数据源实例?

这个和数据源没有半毛钱的关系

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


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/18 14:05:00 [只看该作者]

回4楼,这个仍然是内置数据源,用于连接SqlServer,可以支持web数据源。这个和ado也没有半毛钱的关系,使用的oledb驱动

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/8/18 14:41:00 [只看该作者]

问题一:下面12是外部服务端?还是用户内部服务端(服务器电脑)?是一种连接方法

1、首先我们在服务端的AfterOpenProject事件中加上以下代码,用于开启Web服务:

HttpServer.Prefixes.Add("http://*/")
HttpServer.WebPath = 
"d:\web"
HttpServer.Start()

如果你的服务端项目仅用于提供数据源服务,那么第二行代码可以删除。

2、假定服务器已经安装了SQL Server,有一个名为Sample的数据源,我们现在建立一个数据源连接到这个数据库,使用生成器生成连接字符串的设置如下图:


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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/8/18 14:41:00 [只看该作者]

问题二:这里4编号是错,应是3服务端建立的本地数据源的,是指开发者的服务端?因为2、假定服务器已经安装了SQL Server4、假定服务端建立的本地数据源的名称,都是企业内部服务器本地数据源?还是有区别?

4、假定服务端建立的本地数据源的名称为"Orders",现在将HttpRequest事件代码设置为

Dim Verified As Boolean
If
 e.PostValues.ContainsKey("username"AndAlso e.PostValues.ContainsKey("password"Then
    '实际开发的时候,请改为根据用户表验证身份
    
Dim username As String  = e.PostValues("username")
    
Dim password As String  = e.PostValues("password")
    
If username = "张三" AndAlso password = "888" Then
        Verified  = True
    End If
End
 If
If
 Verified = False Then
    e.AppendCookie("Error","用户身份验证失败!"'通过Cookie返回错误信息.
    
Return
End
 If
Select
 Case e.Path
    
Case "DataServer.htm"
        e.AsDataServer("Orders")  '将一个本地数据源公开为Web数据源
End
 Select


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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/8/18 14:44:00 [只看该作者]



图片点击可在新窗口打开查看此主题相关图片如下:问题三.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/18 15:01:00 [只看该作者]

以下是引用lin98在2023/8/18 14:41:00的发言:

问题一:下面12是外部服务端?还是用户内部服务端(服务器电脑)?是一种连接方法

1、首先我们在服务端的AfterOpenProject事件中加上以下代码,用于开启Web服务:

HttpServer.Prefixes.Add("http://*/")
HttpServer.WebPath = 
"d:\web"
HttpServer.Start()

如果你的服务端项目仅用于提供数据源服务,那么第二行代码可以删除。

2、假定服务器已经安装了SQL Server,有一个名为Sample的数据源,我们现在建立一个数据源连接到这个数据库,使用生成器生成连接字符串的设置如下图:

1是用于开启web服务的代码,发布后放到服务器运行

2是在服务端项目里设置好连接数据源

 回到顶部
总数 22 1 2 3 下一页