2012-01-09 54 views
0

这里是我的存储过程的某些部分无法找到函数:存储过程不能找到一个功能

(dbo.fn_Get_Order_Contacts_Info_Full_Name(@order_detail_ID, 'Borrower')) As 'Borrower_Contact_Info_Full', 

replace(dbo.fn_get_business_product_element_requirements(t_order_detail.order_detail_id,288) 

的功能在一个标量函数存在如下:

ALTER FUNCTION [dbo].[fn_Get_Order_Contacts_Info_Full_Name] 
( 

ALTER FUNCTION [dbo].[fn_get_business_product_element_requirements] 
( 

是这就是为什么程序无法找到标量函数的原因。

我的错误:

can not find column "dbo" or the user defined function or aggregate " the 2 functions above", or the name is ambiguous.

+0

您可能必须显示更多/整个查询中存在这些调用。 – 2012-01-09 15:43:04

+0

命名的列是否与数据库中的写入方式完全相同?试着将名称从SQL Server端拖入查询中,而不是输入它们,看看是否有帮助。当我无法弄清楚什么是错误的时候,我遇到了问题,然后我拖放了名称,并且工作正常。像这样的奇怪的错误让我疯狂! – jlg 2012-01-09 15:43:37

+1

听起来像你可能没有使用正确的数据库。尝试在开始时添加USING your_database_name。 – TheBoyan 2012-01-09 15:50:19

回答

0

所以我解决这个问题的方式是关闭SQL并重新启动服务器,它工作。似乎是在SQL Server中的错误。

+0

我非常怀疑。你从哪里看到这些错误?如果是智能感知,则可能需要刷新缓存。 – 2012-01-10 17:44:47

+0

当时可能正在使用错误的数据库。重新启动服务器后,选择默认数据库,或者小心地选择正确的数据库。 – 2012-01-11 09:59:29

+0

在这里找到答案[链接] http://ycsoftware.net/cannot-find-either-column-dbo-or-the-name-is-ambiguous/[/link] – Daren 2012-01-11 15:37:54

0

这是一个有点难以说没有看到整个查询,但这里有东西看:

  • 是功能数据库(一个或多个)你是在查询中引用?
  • 您是否意外在两个数据库中创建了它们,这两个数据库都是在查询中引用的 ?
  • 你是正面的,你输入了正确的名字,他们是 在dbo中?
  • 你确定这些是标量函数吗?
  • 你刷新了数据库吗?