以文本方式查看主题

-  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=174219)

--  作者:Hopenight
--  发布时间:2022/1/6 0:06:00
--  Web数据源执行以下语句错误,请问如何解决?
Web数据源,在执行下面这个复杂Sql语句时,发生了错误。错误提示为“无法完成延迟准备”。(数据库为SQL Server 2012企业版)
下面语句中的dbo.GetRecepClsByDate是写在数据库里,返回数据集是表的函数。

请问一下Web数据源,对于SQL是不是有要求?是不是只能执行简单的SQL语句?
[此贴子已经被作者于2022/1/7 10:12:50编辑过]

--  作者:有点蓝
--  发布时间:2022/1/6 9:25:00
--  
直接连接数据库测试有没有问题?sql直接在数据库执行有没有问题?跟踪数据库执行了什么sql?

去掉dbo.GetRecepClsByDate测试有没有问题?

不管是直连数据库还是Web数据源其实都是调用系统的oledb驱动执行的sql,如果有要求也是驱动的问题

--  作者:Hopenight
--  发布时间:2022/1/6 23:22:00
--  
直接连数据库没有问题的
--  作者:有点蓝
--  发布时间:2022/1/7 8:46:00
--  
跟踪数据库直连和使用web数据源分别执行了什么sql?有什么不一样?
--  作者:有点蓝
--  发布时间:2022/1/7 9:12:00
--  
我简单测试了一下,在web数据源里使用SQLcommand执行带自定义标量函数的sql是没有问题的。
--  作者:Hopenight
--  发布时间:2022/1/7 9:54:00
--  
又试了一下,用Web数据源执行上面的SQL也是没问题的。
我在想上次出错,有没有可能是因为数据量大超时了?

--  作者:有点蓝
--  发布时间:2022/1/7 10:00:00
--  
有函数又有exists,肯定是全表扫描,表数据多有可能的
--  作者:Hopenight
--  发布时间:2022/1/7 10:03:00
--  
请问一下:对于Web数据源,能设置查询超时时间吗?
--  作者:有点蓝
--  发布时间:2022/1/7 10:04:00
--  
如果是SQLcommand,用法都一样的
--  作者:Hopenight
--  发布时间:2022/1/7 10:13:00
--  
我用的是Fill函数,查了一下好像不能加超时参数
强烈建议Fill函数增加一个超时参数