2013-07-24 2 views
1

Google 검색 결과 아무 것도 찾을 수 없습니다. 짧은 이야기, 나는 SyBase에서 사용자를 생성하고 테이블에 부여했습니다. 하지만 내가 시도 할 때Sybase IQ에서 사용자의 기본 데이터베이스/스키마를 설정하십시오.

select * from table1 

그것은 작동하지 않았다. 오류 쇼 과 내가 같은 테이블 이름 앞에 DBNAME을 추가 시도하고 그것은 작동 :

select * from dbname.table1 

i는 사용자 기본 데이터베이스가 그래서 그의 기본 데이터베이스에 DBNAME을 설정하려면 뭔가 다른 것을 생각한다. 누구든지이 작업을 수행하는 방법을 알고 있습니까?

+0

실제로 "dbname"은 데이터베이스 이름이고 ** ** 테이블을 소유 한 사용자의 이름이 아닙니까? –

+0

@GraemePerrow 네, 맞습니다. dbname은 테이블을 소유 한 사용자입니다. 왜 아직도 .. 너는 어떻게 알지? –

답변

2

이 데이터베이스 이름 (또는 로그인 정책)과는 아무 상관이 없습니다. 귀하의 의견을 감안할 때 "dbname"실제로 테이블을 소유 한 사용자, 여기 무슨 일이 일어나고 있는지.

소유자가없는 테이블 이름을 지정하면 서버가 어떤 테이블을 의미하는지 파악해야합니다. 처음에는 그 이름으로 소유 한 테이블을 찾습니다. 테이블을 찾지 못하면 사용자가 속한 그룹이 소유 한 테이블을 찾습니다. 나는이 그룹 중 하나가 당신이 선택할 수있는 권한이없는 "table1"이라는 테이블을 가지고 있다고 의심합니다.

테이블 이름을으로 지정하면 서버는 사용할 테이블을 정확하게 압니다. 부터에 해당 테이블에서 선택할 수있는 권한이 있으므로 원하는 결과를 얻을 수 있습니다.

+0

그래서 저장 프로 시저를 변경하더라도 작동하지 않습니다? 나는 그 테이블에 사용자를 부여했다. 다른 대안? 'table1'이라는 이름의 뷰를 생성 할 수 있습니다. 그래서 새로운 사용자가'table1'에서 선택을 할 때마다'dbname.table1'로 갈 것입니다. 그게 효과가 있다고 생각하니? 내일 아침에 이것을 테스트해야합니다. –

+1

보기를 만드는 것이 최선의 선택 일 것입니다. 'create table1 from select * from dbname.table1'은 "table1"을 "dbname.table1"의 별칭으로 만듭니다. –

+0

@Graeme 제발 내 질문을 보시 겠어요 - http://stackoverflow.com/questions/19299244/how-to-resolve-update-operation-attempted-on-non-updatable-query – mtk

0

IQ에는 기본 데이터베이스/스키마가 없습니다. 대신 로그인 정책을 사용합니다. 각 데이터베이스에는 로그인 정책이 할당되어 있으며 변경할 수 있습니다. 사용자 정의 로그인 정책을 작성할 수도 있습니다.

로그인 정책을 지정하지 않고 사용자 계정을 만들면 자동으로 루트 로그인 정책이 적용됩니다.

자세한 내용은 다음 SAP 사이베이스 IQ의 문서를 확인하십시오

Intro to IQ: Managing Users and Groups

System Admin Guide V1: Managing User IDs and Permissions

0

보기 또는 절차를 사용하는 것이 유용한 방법입니다. 즉, (IQ 15.x)에서 "기본"스키마를 설정하려면 그룹을 사용합니다. 기본적으로 그룹은 스키마 소유자에게 그룹을 부여하고 개별 로그인 계정 (또는 다른 그룹)을 해당 그룹의 구성원으로 만듭니다. 이 옵션은 사용자에게 스키마에 대한 액세스 만 제공합니다. 즉, 명시 적 schema.object 명명으로 만 해석 가능한 오브젝트 이름 충돌이 있지 않는 한 스키마/소유자 이름으로 오브젝트를 붙일 필요가 없습니다. 여기에는 권한 부여가 포함되지 않습니다. 내재 된 테이블 소유자 관련 특권 중 어느 것도 상속하지 않습니다. 그러나 스키마/소유자가 이제 그룹이기 때문에 해당 수준에서 사용 권한을 부여 할 수 있습니다.

참조 : http://infocenter.sybase.com/help/topic/com.sybase.infocenter.dc00170.1540/doc/html/san1288042708174.html (사용자 ID 및 권한 관리). 경고 :이 자료는 일반적으로 유용하게 사용되기 전에 약간의 독서와 실험이 필요합니다.

이 방법은 IQ 16의 새로운 역할 기반 모델을 보완합니다 (기능적으로 대체 됨). 그러나 IQ 16을 통해 계속 느껴지므로 앞으로 더 많은 기능이 필요할 것입니다. 말했다, 나는 아직 논평 할 준비가되어 있지 않다.

관련 문제