MSSQL OPENQUERY INSERT 사용 질문입니다.. 0 2 2,211

by 초보DB [SQL Query] [2017.10.19 11:34:40]


MSSQL -> ORACLE 테이블 접근해서 INSERT 하려고 하는데요

Insert INTO openquery(Linkedserver, 'select * from TABLE')


value('101020','101010',9999,0,convert(varchar,getdate(),12),convert(varchar,getdate(),8);

 

이런식으로 데이터 넣으려 하는데

Msg 8114, Level 16, State 5, Line 1

Error converting data type varchar to numeric. 이란 에러가 뜹니다..

데이터 형식이 안맞아서 그런거 같은데 어느부분을 형변환 시켜줘야될지 모르겠습니다 ㅠㅠ

by 마농 [2017.10.19 16:17:16]

문자를 숫자로 바꾸다가 난 에러라고 하는데
숫자 컬럼에 문자를 입력하면서 자동형변환을 시도하다가 난 에러인 듯 하네요.
입력 값들을 보면 숫자로 변형 불가능한 문자 값은 딱 한군데 있네요.
convert(varchar,getdate(),8)  ===> 12:21:42
콜론(:)을 없애 줘야 할 듯 합니다.
REPLACE(convert(varchar,getdate(),8), ':', '')  ===> 122142
아니면 테이블의 컬럼 순서와 입력한 데이터 순서가 맞는지 확인하세요.
테이블의 컬럼중 숫자 타입 컬럼의 위치를 확인하세요.


by 우리집아찌 [2017.10.19 18:56:12]

select * from TABLE 의 컬럼 확인해보세요..

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입