SQL服务器 - 执行标量函数而不指定数据库名称

时间:2011-11-18 14:52:44

标签: sql sql-server

我有一个用户定义的SQL函数,我可以使用语法dbo.Function(arg)从管理工作室调用

现在,当我必须从C#调用此函数时,如果我没有指定**dbname**.dbo.Function(arg),我会收到SQL服务器找不到此用户定义函数的错误。如何在不指定dbname的情况下解决这个问题?我已经使用指定“initial catalog = dbname"

的连接字符串连接到服务器

此时我似乎无法重现上述行为:-)(使用SQL Server 2005或2008)我必须暂停此问题

1 个答案:

答案 0 :(得分:2)

您的连接字符串需要指定最初使用的数据库。它可能看起来像这样:

var cn = new SqlConnection(
    "SERVER=SomeServer;DATABASE=SomeDb;Integrated Security=SSPI;"
);

如果不这样做,您可能会被转储到master数据库中,这就是您需要完全限定函数名称的原因。