2011-11-18 3 views
5

을 명시 할 않고 스칼라 함수를 실행 난 내가 C 번호에서이 함수를 호출 할 때, 이제 구문 dbo.Function(arg)SQL 서버 - DB 이름

을 사용하여 관리 스튜디오에서 호출 할 수 있어요 사용자 정의 SQL 기능이 I 돈 경우 **dbname**.dbo.Function(arg)을 지정하십시오. SQL 서버가이 사용자 정의 기능을 찾지 못한다는 오류가 발생합니다. dbname을 지정하지 않고 어떻게 해결할 수 있습니까? 난 이미 지정하는 연결 문자열을 사용하여 서버에 연결 "initial catalog = dbname"


내가 이걸 넣어야 할 (SQL 서버 2005 또는 2008을 사용 중)이 포인트 :-)에서 언급 한 동작을 재현 할 수없는 것 같다 보류 질문

+1

C# 코드와 정확한 예외를 표시 할 수 있습니까? –

+2

응용 프로그램에서 사용하는 로그인에 함수에 대한'EXEC' 권한을 부여해야 할 수도 있습니다. –

+0

@MartinSmith 필자는 관리 스튜디오 (작동하는 곳)와 C# 코드에서 Windows Authetication을 사용합니다. dbname (예 : SELECT \t DATEPART (YEAR, Activitylogs.Datastamp) AS YEAR_VALUE, dbname.dbo.ISOweek (Activitylogs.Datastamp) ... 코드가 추가되었다고 말한대로 작동합니다. – Ghita

답변

2

연결 문자열이 처음 사용하는 데이터베이스를 지정해야합니다 그것은 같은 것을 볼 수 있습니다. 그없이

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

을, 당신은 아마 master 데이터베이스로 덤프되는중인 전 왜 함수 이름을 완전히 한정해야하는지.