안녕하세요. 프로시저 실행하다 잘나오다 이상하게 나와서 이렇게 문의 드립니다.
MSSQL 테이블과 LINKED DATABASE 관련하여 질문 드립니다.
-- USE CURSOR
DECLARE @transfer_key NVARCHAR(80)
DECLARE cur_user_transfer CURSOR FOR
select t.odrkey as transfer_key
from hrbodr t
where t.odredt >= convert(varchar, getdate() - 30, 112)
OPEN cur_user_transfer
FETCH NEXT FROM cur_user_transfer INTO @transfer_key
WHILE(@@FETCH_STATUS = 0)
BEGIN
BEGIN TRY
--INSERT
insert into openquery
(PROD,
'select transfer_key,
employee_number,
transfer_date,
dept_code
from ehr_user_transfer_info_i')
select t.odrkey as transfer_key,
t.odrper as employee_number,
t.odredt as transfer_date,
t.odrdep as dept_code
from hrbodr t
where t.odrkey = @transfer_key
END TRY
BEGIN CATCH
END CATCH
FETCH NEXT FROM cur_user_transfer INTO @transfer_key
END
CLOSE cur_user_transfer
DEALLOCATE cur_user_transfer
DECLARE @employee_number NVARCHAR(80)
DECLARE cur_user_resignation CURSOR FOR
select pernno as employee_number
from hrbemp a
left join hracod b
on jiccde = coddcd
and codhcd = 'C010'
where exdate >= convert(varchar, getdate() - 30, 112)
OPEN cur_user_resignation
FETCH NEXT FROM cur_user_resignation INTO @employee_number
WHILE(@@FETCH_STATUS = 0)
BEGIN
BEGIN TRY
--INSERT
insert into openquery
(PROD,
'select employee_number,
employee_name,
job_title,
dept_code,
resignation_date
from ehr_user_resignation_info_i')
select pernno as employee_number,
pnname as employee_name,
isnull(coddnm, jiccde) as job_title,
depcod as dept_code,
exdate as resignation_date
from hrbemp a
left join hracod b
on jiccde = coddcd
and codhcd = 'C010'
where pernno = @employee_number
END TRY
BEGIN CATCH
END CATCH
FETCH NEXT FROM cur_user_resignation INTO @employee_number
END
CLOSE cur_user_resignation
DEALLOCATE cur_user_resignation
상기 프로시저를 실행 했을때...
(0개 행이 영향을 받음)
연결된 서버 "PROD"의 OLE DB 공급자 "OraOLEDB.Oracle"이(가) 메시지 "시스템이 OraOLEDB에 대한 메시지 파일에서 메시지 번호 0x80040e2f에 대한 메시지 텍스트를 찾지 못했습니다."을(를) 반환했습니다.
메시지가 나오고 0x80040e2f 에 대해서 찾아 봐도 제대로 된 정보가 없습니다.
뭐가 문제일까요??
추가..
링크드서버 에서 인덱스 되있는 transfer_key, employee_number 이거 두개 고유로 되 있어서 비고유로 바꿧더니
오류없이 잘되네요.. 무엇이 문제 였을까요..
추가..
오류 걸리는게 맞다고 하네요... 아직 초보인데 안된다고 해서 찾아서 해준걸 중복 계속 해용한다고 문제가 된다고 하고
어렵네요