执行 UDF 时获取无效的对象名称
Posted
技术标签:
【中文标题】执行 UDF 时获取无效的对象名称【英文标题】:get Invalid object name while executing a UDF 【发布时间】:2011-01-14 17:44:15 【问题描述】:我已经编写了一个代码块来根据关键字获取结果。
using (DummyDataContext vdc = Connection.getContext())
string searchStr = "cricket";
var _result = from w in vdc.simple_Search(searchStr)
select w;
ListView1.DataSource = _result;
ListView1.DataBind();
但是,当调用列表视图的 DataBind() 操作时出现错误
无效的对象名称 'dbo.simple_Search'。
我的数据库中有 udf,但不知道为什么会出现此错误。任何建议。
这是 UDF:
CREATE FUNCTION [dbo].[simple_Search]
(
@keyword nvarchar(4000)
)
RETURNS TABLE
AS
RETURN
(
select * from sports where
(CONTAINS(sportName, @keyword))
)
【问题讨论】:
【参考方案1】:没有什么明显的亮点。
您是否 100% 确定您正在连接到正确的数据库?
如果您可以访问 sql 服务器,您可以运行检查以查看传递给它的 tsql 命令。
还可以尝试强制立即执行以确保它不是绑定问题
即
var _result = from w in vdc.simple_Search(searchStr)
select w;
var test = _result.ToList();
...
【讨论】:
你是对的,我没有连接到正确的数据库。现在明白了!!以上是关于执行 UDF 时获取无效的对象名称的主要内容,如果未能解决你的问题,请参考以下文章
使用 VBA for Excel 在 UDF 中输入的名称无效
如何根据单元格颜色获取 UDF 以在 Excel 中自动更新