2010-04-09 7 views
0

"Access ADP를 사용할 것입니다."작은 프로젝트 일뿐 아니라 할 일이 더 많았습니다. "정말 빠르게 인터페이스를 만들 수 있습니다. 액세스 있음 "이라고 말했습니다. 그래서, 절망 -MS 액세스 :보기에 대한 사용 권한 문제

</풍자 호언 장담에 대한 >

죄송하지만 금요일, 나는 바로 아래 2 시간 날짜를 가지고 있고, 여기 말 때문에이 단지 작동하지 않습니다 해요 나는 도움을 청한다.

  • 액세스 ADP 프런트 엔드 (테스트) 데이터베이스에 로그인하기 위해 SQL Server 계정을 사용하여 SQL 서버 2008 데이터베이스
  • 에 연결; 이 계정은 "Api"역할의 구성원입니다. 이 역할은 SELECT는, INSERT, UPDATE를 대한 EXECUTE 'API'스키마
  • 은 "API 광고"스키마가 "DBO"
  • 모든 테이블이 API를 스키마에 해당보기를 소유하고 액세스 권한을 삭제했습니다 예를 들어, dbo.Customer -> Api.Customers
  • 근거는 사용자가 직접 테이블에 액세스 할 수없는, 그러나 그들은 테이블
  • 것처럼 뷰를 처리 할 수 ​​있다는 것입니다
내 테스트 로그인을 사용하여 SQL에 로그인 할 수 있습니다

, 그리고 그것은 잘 작동 : 테이블에 액세스 할 수 있지만 선택, 삽입, 업데이트 및 API 뷰에서 삭제할 수 있습니다.

이 Access에서 나는 열 수, 전망을 볼 수 있지만, 내가 삽입하거나 업데이트 할 때마다, 나는 다음과 같은 오류 얻을 : 그것은 소리

The SELECT permission was denied on the object '[Table name which the view is using]', database '[database name]', schema 'dbo'

미친, 액세스하려고하는 것 같다 뷰가 아닌 기본 테이블에 액세스하십시오.

아이디어가 있으십니까?

+0

긴 샷이지만보기를 통해 액세스 할 수있는 기본 키가 있습니까? – Knox

+0

ADO는보기 권한을 무시하고 원본으로 사용하는 테이블에 업데이트를 적용하려고 시도하는 경우가 있습니다. 이는 ADO가 달리 업데이트 할 수없는 SQL 문에서 데이터를 업데이트 할 수 있도록 디자인되었으므로 (좋음)하지만 때로는 그렇게하지 않아도되는 단점이 있습니다 (예 : 당신의 견해). 이것은 고전적인 ADO의 많은 결함 중 하나이며 많은 고급 Access 개발자가 ADP를 몇 년 전에 버린 이유 중 하나입니다. Microsoft는 약 5 년 동안 MDB/ODBC에 대한 찬성으로 ADP를 사용하지 않을 것이라고 생각하십니까? –

+0

@Knox : 나는 갈 것이고, 그것이 차이를 만들어 내는지 알 수있을 것이다. @David : 그래, 내가 얼마나 진절머리 나는 ADP가 (나를 믿는다는 것을) 안다. 나는 MDB/ODBC에 갈 것 같지만 고통이 너무 심해지면 관리를 설득하여 몇 주를 더 보내고보고 서비스로 ASP.NET 프론트 엔드를 구축하려고 노력할 수도 있습니다. 유용한 정보 주셔서 감사합니다 - 유용합니다! –

답변