执行 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 时获取无效的对象名称的主要内容,如果未能解决你的问题,请参考以下文章

pyspark 在 udf 中获取结构数据类型的字段名称

使用 VBA for Excel 在 UDF 中输入的名称无效

如何在 Oracle 10g 中获取无效对象的错误列表

如何根据单元格颜色获取 UDF 以在 Excel 中自动更新

无效的对象名称'dbo.sp_GetCustomerRequestReport'。执行存储过程时

雪花 UDF 调用“显示共享”功能