2014-02-06 1 views
0

asp classic에서 기본 스키마와 sql에 문제가 있습니다. 첫째, 나는 'MyDatabase'라는 데이터베이스를 가지고 있는데,이 데이터베이스는 'MySchema'스키마 (모든 테이블이이 스키마에 있음)를 가지고 있으며 'MyDatabase'및 기본 스키마 'MySchema'를 통해 권한을 가진 사용자 'jdoe' 'jdoe'는 sysadmin이 아닙니다. '가 jdoe가'오류없이 관리 스튜디오에서 다음 쿼리를 실행할 수 있습니다asp classic의 select 쿼리에서 기본 스키마가 작동하지 않습니다.

SELECT columnOne FROM MyTable 

같은 쿼리를하지만 .ASP 페이지에서 찾을 수 있습니다을 MyTable :

Dim query 
query = "SELECT ColumnOne FROM MyTable" 

ASP 페이지의 ADODB.Command를 사용하는 사용자 'jdoe'. 내가 명시 적으로 스키마를 지정하면 쿼리 결과를 반환합니다 '가 jdoe'에 기본 스키마를 Asign,하지만 난 그것을 한과에서 T-SQL과 함께 작동 : 나는 웹하지만 모든 대답은 같은 말을 검색

Dim query 
query = "SELECT ColumnOne FROM MySchema.MyTable" 

서버 또는 dabatase 저장 프로 시저 같은 있지만 asp 페이지에있는 것처럼 querys 작동하지 않습니다.

몇 가지 특별한 구성이 있습니까?

감사합니다.

+0

기본 스키마를 이렇게 변경 했습니까? 'ALTER USER MyUser WITH DEFAULT_SCHEMA = MySchema' 그렇지 않으면 그 후에 작동하는지 확인하십시오. 또한 응용 프로그램에서 연결중인 올바른 사용자를 수정하고 있는지 확인하십시오. –

+0

네, 해냈지만 코드는 서버에서만 작동합니다. 여전히 ASP 페이지에서는 작동하지 않습니다. 나는 기본 스키마를 지정할 때 사용자에 대해주의를 기울였다. – Noob

+0

그래서 기본 스키마를 변경 한 동일한 Windows 사용자로 iis/the 응용 프로그램 풀을 실행하고 있습니까? – ulluoink

답변

0

가 해결 : 나는, 내가 Windows 사용자 (도메인 \ 사용자)에 의해 '가 jdoe을'SQL 서버 사용자를 변경 무슨 일이 있었는지 모르는

하고 작동, 난 창은 할당, 사용자와 동일한 방식으로 구성 기본 스키마 및 sysadmin 권한 없음. asp 페이지에서 Windows 인증 DSN을 사용하고 IIS에서 익명 액세스를 허용하도록 웹 사이트 보안 디렉토리를 구성했으며 SQL Server에서 사용한 동일한 사용자를 사용했습니다.