기본 DBO 스키마에없는 SQL Server 데이터베이스 테이블에서 데이터를 읽는 방법

asp.net-mvc c# dapper sql-server

문제

내 데이터베이스로 SQL 서버와 함께. NET MVC 4 응용 프로그램을 구축하고 데이터베이스 작업을 위해 Dapper 및 Dapper SimpleCRUD를 사용합니다. 내 데이터베이스에는 기본 dbo 스키마에 테이블이 있고 dbo.clients 대신 product.clients와 같은 다른 스키마의 테이블도 있습니다. 필자는 데이터베이스에서 별도의 사용자 계정 (제품 스키마의 소유자이고 제품 스키마의 기본 사용자)으로 매핑되는 SQL 서버에 별도의 로그인을 만들었습니다. 하지만이 자격 증명을 사용하여 DB에 연결하면 System.Data.SqlClient.SqlException 같은 예외가 발생합니다. 잘못된 개체 이름 'clients'. 이제는 검색 및 검색했지만 기본 dbo 이외의 스키마에서 데이터를 읽을 수 있도록 web.config에서 올바른 연결 문자열 요소를 생성하는 방법을 찾을 수 없습니다. 어떻게해야합니까?

인기 답변

쿼리에서 스키마 이름을 명시 적으로 지정할 수 있습니다.

SELECT Id,ClientName FROM product.clients

SQL 사용자가 스키마에 액세스 할 수 있으면 작동해야합니다.

필요한만큼뿐만 아니라 2 개의 schamas에서 테이블을 조인 할 수 있습니다.

 SELECT C.Id,C.ClientName FROM product.clients C WITH (NOLOCK) 
 INNER JOIN dbo.UserAccount U WITH(NOLOCK) 
                         ON U.UserId=C.CreatedById


아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow