2012-01-23 2 views

답변

1

Rupesh을 ...

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

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

누군가가 마법을 재생 정확히 어떤 DBO를 제안 할 수 ... 명령 텍스트 등으로 vb.net에서 해당 전화 사전 에서

감사 할 때 dbo이 기본 스키마 일 가능성이 큽니다. Database Owner을 나타냅니다.

SQL 쿼리에서 함수를 실행할 때 함수가 속한 스키마를 지정해야합니다.

두 개의 서로 다른 스키마에 속하는 이름이 function_name 인 두 개의 다른 함수가있을 수 있습니다. 스키마를 언급하지 않고도 서버는 호출중인 함수를 알 수 없습니다.

+0

감사 커트를 참조, 내가 두 번째처럼 쿼리를 사용하는 것이 좋습니다 것입니다 우리가 선택 문 – Rupesh

+1

를 사용하는 것보다 vb.net 서로 스칼라 기능을 실행 어떤 방법이 있나요'DBO를 선택 .function_name (값 1)'. 이걸 사용하는 데 아무런 문제가 없습니다. 또는이 쿼리를 저장 프로 시저로 이동하고 저장된 프로 시저를 실행하여 반환 된 값을 가져올 수 있습니다. – Curt

0

SQL Server 엔진은 항상 쿼리를 조각으로 구문 분석합니다. 접두사를 사용하지 않으면 [dbo]를 사용하기 전에 다른 사용자와 비슷한 이름으로 개체를 검색합니다. 프리 프랙티스를 따르는 것이 가장 좋은 방법을 만족시킬뿐만 아니라 성능 결함을 피하고 확장 가능한 코드로 만들 것을 제안합니다. 질문

오래된 질문이 link