SQL存储函数从vb.net调用

时间:2012-01-23 09:29:29

标签: sql vb.net sql-server-2008

我在SQL Server中创建了一个存储函数。当我尝试使用命令文本(例如......)来调用vb.net中的那个。

---- Returning error
lobjCommand.CommandText="Select function_name(value1)"

----- Executing properly without errors    
lobjCommand.CommandText="Select dbo.function_name(value1)" 

有人可以建议玩魔法的dbo究竟是什么......

提前致谢 Rupesh

2 个答案:

答案 0 :(得分:1)

dbo很可能是您的默认架构。它代表Database Owner

在SQL查询中运行函数时,需要指定函数所属的模式。

如果不这样做,则可能有两个不同的函数,名称function_name属于两个不同的模式。如果不提及架构,服务器将无法知道您正在调用哪个函数。

答案 1 :(得分:0)

SQL Server引擎总是将查询解析成碎片,如果你不使用前缀肯定会在使用[dbo]之前搜索具有不同用户的类似名称的对象。我建议你遵循前缀机制,不仅要满足最佳实践,还要避免性能故障并使代码可扩展。

旧问题请参阅此link