드디어 스토리지를 구입했다.
그동안 DB가 깨질까봐 노심초사 했는데...
HP MSA2000으로 요청했는데..고맙게도..IBM
DS3000을 사줬다.
32bit버젼을 깔려고 하다가...64bit버젼으로 설치를 한다.
Linked
Server생성하려고 하는데
공급자 부분에 "Microsoft OLE DB Provider for Oracle" 이놈이 나타나지
않는다.
"어!! 왜 않보이지....SQL서버 설치하면 기본으로 깔리는거 아니였나"
인터넷에서 한참을
뒤지다가..
64bit버젼은 MS에서 지원하지 않는다는 사실을 알게 된다....빌어먹을 놈의
MS..
오라클싸이트에서 해당 프로그램을 다운받아서 설치를 했다.
"Oracle Provider for OLE DB"
이놈이다.
근데..좀 찜찜하다...Oracle에 붙어서 사용되는 드라이버인데..왜 MS에서 만든게 오라클에서 만든거
보다
안정적일까...할 수 없이 Linked Server를 생성한다.
근데...
잘돌아가던 쿼리가 오류가
단다.
"numeric"유형에 대한 데이터가 잘못되었습니다.
현재 쿼리는 4partname방식으로 하고 있었다.
또
인터넷에서 삽질을 해 보니, 뭐..해당컬럼이 함수로 가공된 경우(sum,count)등등인 경우 4partname이
아닌
openquery방식으로 하면 된다고 한다....가만히 생각해 보니,,,몇몇개 쿼리는 openquery방식으로 했던
기억이
났다...
않된다...그래서 다시 삽질....
결국 케스팅을 해야 한다...어떤이는 to_char로 한후, 다시
변환하라고 하고, 어떤이는 그냥 float으로 하라고 한다
이 문제는 해결했다....
근데...아직 문제가
남아있다.
해당 뷰중에 "LEVEL"이라는 컬럼이 있다....
이놈 때문에...아래와 같은 오류가
뜬다.
"ORA-01788: connect by 구를 지정해 주십시오"
어이가 없다..아마 level이라는 예약어
때문에..sql파싱시 오류가 발생하는듯 하다.
방법이 없다...컬럼명을 수정하는 수 밖에...
alter system set
"_allow_level_without_connect_by"=true scope=spfile;를 실행하거나
pfile에
_allow_level_without_connect_by=true를 추가하면 된단다.
그러나,,난 지금 오라클환경에서 쓰는것이
아니니...이방식은 쓸수 없고....
현재 ,dba한테..변경요청서 보낸 상태로 기다리고 있다.
64bit로 넘어오니...별
이상한 오류가 다 나고 있다...
위에 level문제는 4part시엔 발생하지 않는다.
즉 4partname를 쓰면
level문제는 없는데, 컬럼 타입이 문제고
openquery를 쓰면 컬럼타입은 casting해서 문제가 않되는데, level이 문제가
되는
환상적인 아이러니컬한 상태인것이다
오라클놈들 드라이버좀 잘 만들것이지....너무 FM대로 만들면 되나...
'일하기 > 기타' 카테고리의 다른 글
MSSQL File사이즈 축소 (0) | 2012.04.01 |
---|---|
CMD 배치파일에 날짜받아서 실행하기 (0) | 2012.03.12 |
[MSSQL 2005] SQL Server Configuration manager wmi 0x0007007e (0) | 2011.05.24 |
[MSSQL2005] 운영중 데이터 파일 이동하기 (0) | 2009.10.30 |