我有一个用户定义的SQL函数,我可以使用语法dbo.Function(arg)
从管理工作室调用
现在,当我必须从C#调用此函数时,如果我没有指定**dbname**.dbo.Function(arg)
,我会收到SQL服务器找不到此用户定义函数的错误。如何在不指定dbname的情况下解决这个问题?我已经使用指定“initial catalog = dbname"
此时我似乎无法重现上述行为:-)(使用SQL Server 2005或2008)我必须暂停此问题
答案 0 :(得分:2)
您的连接字符串需要指定最初使用的数据库。它可能看起来像这样:
var cn = new SqlConnection(
"SERVER=SomeServer;DATABASE=SomeDb;Integrated Security=SSPI;"
);
如果不这样做,您可能会被转储到master
数据库中,这就是您需要完全限定函数名称的原因。