以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  web数据源求助  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=190977)

--  作者:instone
--  发布时间:2024/3/18 11:48:00
--  web数据源求助
请问老师  WEB服务器,是与做其数据源的SQL服务器是在同局域网内的不同主机上,请问,这个WEB服务器可以作为客户端的WEB数据源使用吗,我这样建WEb数据源时报错为“根级别上的数据无效。 第 1 行,位置 1。”
--  作者:instone
--  发布时间:2024/3/18 11:50:00
--  
就是WEB服务器与SQL服务器不在同一机上


--  作者:有点蓝
--  发布时间:2024/3/18 11:54:00
--  
可以的,在服务端连接到数据库:http://www.foxtable.com/mobilehelp/topics/283.htm

相关设置和代码发上来看看

--  作者:instone
--  发布时间:2024/3/20 14:53:00
--  

老师我服务端AfterOpenProject事件中是以下代码:
If HttpServer.IsRunning Then
Else \'开启本机服务    
    HttpServer.Prefixes.Add("http://127.0.0.1/") 
    HttpServer.WebPath = "c:\\内部控制及管理制度手册\\" 
    HttpServer.Start()
    
End If
Forms("ctlmngServer").Open()


HttpRequest事件代码:
Dim Verified As Boolean
If e.PostValues.ContainsKey("sasasa") AndAlso e.PostValues.ContainsKey("pdpdpd") Then
    \'    \'实际开发的时候,请改为根据用户表验证身份
    Dim username As String = e.PostValues("sasasa")
    Dim password As String = e.PostValues("pdpdpd")
    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("cnn1")  \'cnn1是一个本机连接局域网中另外一个SQL服务器的数据源
End Select
Functions.Execute("web_file", e)



客户端WEB数据源
http://127.0.0.1/DataServer.htm
-FormData-
sasasa:张三
pdpdpd:888

连接预览报错信息为:“访问的页面:”附近有语法错误。

  在浏览器访问127.0.0.1,以及访问 http://127.0.0.1/DataServer.htm  时,页面均显示为:foxtable web server has started(error 404).
但是访问下级目录比如:http://127.0.0.1/glzd/index.html  ,这个页面是可以正常显示的


--  作者:有点蓝
--  发布时间:2024/3/20 14:56:00
--  
Select Case e.Path
    Case "DataServer.htm" 
        e.AsDataServer("cnn1")  \'cnn1是一个本机连接局域网中另外一个SQL服务器的数据源
return \'不需要再执行下面的函数了
End Select
Functions.Execute("web_file", e)

--  作者:instone
--  发布时间:2024/3/20 15:31:00
--  
老师加return 后可以连接了,但是运行窗口时会报如下错误,还望指点:

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:
详细错误信息:
无法完成延迟准备。
无法预定义语句。
对象名 \'XXX\' 无效。

说明:XXX是服务端连接cnn1连接的SQL服务器上的数据库名

--  作者:instone
--  发布时间:2024/3/20 15:32:00
--  
然后一个窗口提示:  请求被中止: 操作超时。
--  作者:instone
--  发布时间:2024/3/20 15:34:00
--  
运行窗口需要加载的表 都是空表,都加了   where [工号] is null   条件的,应该没啥数据量
--  作者:有点蓝
--  发布时间:2024/3/20 15:41:00
--  
对象名 \'XXX\' 无效】应该是数据源没有这个名称的表,或者没有权限使用
--  作者:instone
--  发布时间:2024/3/20 17:36:00
--  
老师我在用二级架构的连接时是可以正常用的