델 초보자입니다.
DB부분에 대해서 질문 하고자 합니다.
저번에 개발할 때는 테이블 명만 사용하였습니다.
그런데 다시 설치하고 DB를 연동하는데 dbo.xxxx가 추가되었습니다.
자세한 예)
DB를 백업(MS-SQL7.0)을 받아서 다시 설치(MS-SQL 2000)를 하였습니다.
DELPHI도 다시 설치.
그런데 그동안 사용하던 테이블 명이 변경되었습니다.
그동안 'SELECT * FROM SALES'로 사용했는데 '테이블 명이 dbo.SALES로 변경되어서
전부 수정을 하게될 처지에 놓였습니다.
dbo. 을 안나오게 하는 방법이 없나요?....
혹시 이런 증상을 아시면 알려주시기 바랍니다.
급합니다. 도움 바랍니다.
> 델 초보자입니다.
> DB부분에 대해서 질문 하고자 합니다.
> 저번에 개발할 때는 테이블 명만 사용하였습니다.
> 그런데 다시 설치하고 DB를 연동하는데 dbo.xxxx가 추가되었습니다.
>
> 자세한 예)
> DB를 백업(MS-SQL7.0)을 받아서 다시 설치(MS-SQL 2000)를 하였습니다.
> DELPHI도 다시 설치.
> 그런데 그동안 사용하던 테이블 명이 변경되었습니다.
> 그동안 'SELECT * FROM SALES'로 사용했는데 '테이블 명이 dbo.SALES로 변경되어서
> 전부 수정을 하게될 처지에 놓였습니다.
> dbo. 을 안나오게 하는 방법이 없나요?....
>
> 혹시 이런 증상을 아시면 알려주시기 바랍니다.
> 급합니다. 도움 바랍니다.
백업했다가 리스토어 하는과정에서 DB는 옴겨졌지만 사용자 계정이 옴겨지지 않았거나 퍼미션이
바뀐 탓입니다.
문제가 발생하는 예)
t1 이라는 계정을 만들었다.
t1으로 접속하여 DB를 만들었다.
T1으로 접속하여 테이블을 만들었다.
백업을 했다.
재설치 했다.
SA 로 DB를 만들었다.
데이터를 리스토어 했다.
이러면 반드시 그런 애러가 납니다.
dbo.t1 으로 쓰게 되는경우는 t1의 작성자와 현재의 사용자가 다른 계정혹은 다른 권한을 가지고 있기때문입니다.
해결1) 접속용 계정에 DBO 권한을 준다.
해결2) 오너를 변경해준다. 7.0 이상부터는 sp로 변환이 된다고 하더군요.
안되면 master 테이블이던가 어디서 강제로 바꾸고 리스타드 하면 된다더군요.