Background Image

FORUM

2020.10.29 14:50

MSSQL DBLink INSERT

조회 수 1405 추천 수 0 댓글 5
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Docker CentOS7 64bit 
CUBRID Ver.
CUBRID 10.2 (10.2.2.8874-f681dd9) (64bit release build for Linux) (Sep  1 2020 09:41:17)
CUBRID TOOL Ver.
CUBRID Admin 10.2.0.0002 (64bit)
응용 환경(API)
ssms

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------


안녕하세요. 


https://www.cubrid.com/qna/3804477 의 글을보면서

mssql 에서 dblink로 cubrid를 연결하려고 에러가납니다.


OLEDB와 ODBC는 설치하고 


select 까지는 되는데 insert문이 안됨니다.

다른 설정을 해야하는 것이 있는지 궁굼합니다.


cubrid error.png




  • ?
    오명환 2020.10.29 16:34
    CUBRID의 table schema와 mssql에서 사용한 insert 구문을 올려주세요.
    에러 메세지로는 특정 필드의 값 구조가 다른 것처럼 보입니다.
  • ?
    흥노 2020.10.29 18:15

    --테스트에 사용한 쿼리입니다.
    DROP TABLE [IF_EPIS_CROPS_CODE]

    CREATE TABLE [IF_EPIS_CROPS_CODE]
    (
    [CROP_CD] VARCHAR(10),
    [USE_KND] VARCHAR(80),
    [CROP_NM_KOR] VARCHAR(1000) ,
    [CROP_NM_ENG] VARCHAR(1000) ,
    [TECH_NM] VARCHAR(1000) ,
    [UPOV_CD] VARCHAR(20) ,
    [TRN_ID] VARCHAR(50) ,
    [MSG_ID] VARCHAR(50) ,
    [TRN_STATS] VARCHAR(2) ,
    [TRN_DT] DATETIME ,
    [TRN_MSG] VARCHAR(2000) ,
    --, CONSTRAINT PK_IF_EPIS_CROPS_CODE PRIMARY KEY([CROP_CD])
    )

    INSERT INTO if_epis_crops_code ( crop_cd,use_knd,crop_nm_kor,crop_nm_eng,tech_nm,upov_cd,trn_id,msg_id,trn_stats,trn_dt,trn_msg )
    VALUES ( '2', '','' ,'' ,'' ,'' ,'' ,'' , '', sys_datetime, '' )


    --- mssql 구문 입니다.
    select * from lnk_test...if_epis_crops_code


    INSERT INTO lnk_test...if_epis_crops_code ( crop_cd,use_knd,crop_nm_kor,crop_nm_eng,tech_nm,upov_cd,trn_id,msg_id,trn_stats,trn_dt,trn_msg )
    VALUES ( '', '','' ,'' ,'' ,'' ,'' ,'' , '', null, '' )


    빠른답변 부탁드려요

    감사합니다.

  • ?
    권호일 2020.11.02 15:02
    내부 확인 결과 입력하는 값에 NULL이 있는 경우에 오류가 발생합니다.

    우회 방법으로는는 NVL함수를 사용하여 NULL값이 입력되지 않도록 하는 방법이 있습니다.

    해당 오류사항은 내부 오류로 등록하여 차기버젼에 수정하도록 하겠습니다.

    감사합니다.
  • ?
    흥노 2020.11.02 17:52
    확인 감사드립니다.

    NULL값을 안넣으니깐 입력되는건 확인했습니다.

    그런데 테이블에 기본키를 설정하면 다른에러가 발생합니다. 키값을 설정하면

    SELECT, INSERT 둘다 작동하지 않습니다.

    메시지 7356, 수준 16, 상태 1, 줄 9
    연결된 서버 "lnk_test"의 OLE DB 공급자 "MSDASQL"이(가) 열에 대해 일관성이 없는 메타데이터를 제공했습니다. 개체 "if_epis_crops_code"의 열 "crop_cd"(컴파일 시 서수 1)이(가) 컴파일 중에는 "DBCOLUMNFLAGS_ISNULLABLE"/0이(가) 있고 런타임 중에는 32이(가) 있는 것으로 보고되었습니다.
  • ?
    민순 2020.11.05 14:38

    OPENQUERY를 사용해 보시기 바랍니다.

    SELECT * FROM OPENQUERY( [ linked_server 이름], '[실행할 쿼리]' );

    SELECT * FROM OPENQUERY (lnk_test, 'select * from if_epis_crops_code');

    INSERT 구문에서 NULL 값을 넣을 컬럼 빼고 실행해 주시면 정상적으로 실행이 되고 NULL 값이 INSERT 되는 것 확인했습니다.

    INSERT INTO OPENQUERY(lnk_test, 'select crop_cd, use_knd, crop_nm_kor, crop_nm_eng, tech_nm, upov_cd, trn_id, msg_id, trn_stats, trn_msg from if_epis_crops_code') VALUES ( '', '','' ,'' ,'' ,'' ,'' ,'' , '', '' );


    보내주신 테스트 코드 모두 실행 정상적으로 되는 것 확인했습니다.


    --테스트에 사용한 쿼리입니다.
    DROP TABLE [IF_EPIS_CROPS_CODE]

    CREATE TABLE [IF_EPIS_CROPS_CODE]
    (
    [CROP_CD] VARCHAR(10),
    [USE_KND] VARCHAR(80),
    [CROP_NM_KOR] VARCHAR(1000) ,
    [CROP_NM_ENG] VARCHAR(1000) ,
    [TECH_NM] VARCHAR(1000) ,
    [UPOV_CD] VARCHAR(20) ,
    [TRN_ID] VARCHAR(50) ,
    [MSG_ID] VARCHAR(50) ,
    [TRN_STATS] VARCHAR(2) ,
    [TRN_DT] DATETIME ,
    [TRN_MSG] VARCHAR(2000) ,
    --, CONSTRAINT PK_IF_EPIS_CROPS_CODE PRIMARY KEY([CROP_CD])
    )

    INSERT INTO if_epis_crops_code ( crop_cd,use_knd,crop_nm_kor,crop_nm_eng,tech_nm,upov_cd,trn_id,msg_id,trn_stats,trn_dt,trn_msg )
    VALUES ( '2', '','' ,'' ,'' ,'' ,'' ,'' , '', sys_datetime, '' )


    --mssql 에서 실행한 쿼리



    INSERT INTO OPENQUERY(lnk_test, 'select crop_cd, use_knd, crop_nm_kor, crop_nm_eng, tech_nm, upov_cd, trn_id, msg_id, trn_stats, trn_msg from if_epis_crops_code') VALUES ( '', '','' ,'' ,'' ,'' ,'' ,'' , '', '' );

    SELECT * FROM OPENQUERY (lnk_test, 'select * from if_epis_crops_code');





    또한, KEY 값이 있는 테이블도 정상적으로 조회가 됩니다.



    OPENQUERY 관련해서는 아래 링크 참고해주시기 바랍니다.

    https://docs.microsoft.com/ko-kr/sql/t-sql/functions/openquery-transact-sql?view=sql-server-ver15

    감사합니다.


  1. CUBRID 사용자를 위한 DBeaver 도구 출시 안내

    Date2024.04.23 Byadmin Views48
    read more
  2. SQLGate for CUBRID 영구 무료 라이선스 제공

    Date2020.04.09 Byadmin Views4458
    read more
  3. 운영db 접근이 되지 않아 문의 드립니다

    Date2023.07.20 By찬이 Views99
    Read More
  4. 홈경로 databases.txt 질문드립니다

    Date2023.07.17 By큐브리드드 Views92
    Read More
  5. Cubrid admin 접속 제한 문의드립니다.

    Date2023.07.13 By데굴v Views118
    Read More
  6. 특정단어 삭제

    Date2023.07.13 Byddmmdd Views165
    Read More
  7. error while loading shared libraries: libncurses.so.5 에러 문의 드립니다.

    Date2023.07.10 Bykikiki767 Views1471
    Read More
  8. 다운로드페이지에 CUBRIDManager 11.x windows-x64.exe 는 없는데 .. 다운로드 할 수 있을까요?

    Date2023.07.05 By최라이거 Views297
    Read More
  9. db_class에서 테이블 목록 조회시

    Date2023.07.03 Bycncn Views294
    Read More
  10. 조회쿼리 시간단축

    Date2023.06.30 Byleeee Views98
    Read More
  11. CUBRID 8.4.4 -> 11.0.3 로 업그레이드 시 발생할 문제가 있을까요?

    Date2023.06.29 BySDDC사업개발자 Views89
    Read More
  12. CUBRID to Tibero DBLink지원 가능한지 알고싶습니다.

    Date2023.06.28 By공공기관에서사용중1 Views138
    Read More
  13. ELO타입이 무엇인가요?

    Date2023.06.27 Bysobubble Views116
    Read More
  14. 백업파일 받았는데 복구하는 방법을 모르겠습니다.

    Date2023.06.20 ByGgyak Views186
    Read More
  15. UTF8 한글이 깨짐

    Date2023.06.19 Byyonggi Views271
    Read More
  16. 저장 프로스저에 있는 함수 상세보기 문의입니다.

    Date2023.06.12 By대출인생30년 Views82
    Read More
  17. MERGE INTO 속도 개선 문의

    Date2023.06.12 Byleeee Views129
    Read More
  18. NX_transcation

    Date2023.06.12 Byyoo Views79
    Read More
  19. cubrid cursor.close() 에러 관련질문

    Date2023.06.08 By힘내자화이팅 Views186
    Read More
  20. merge 쿼리 속도개선

    Date2023.06.08 Byleeee Views109
    Read More
  21. 브로커(CAS)수 질문드립니다!

    Date2023.06.05 By요시니 Views152
    Read More
  22. 데이터 이관 문의입니다.

    Date2023.05.30 Bykipo0821 Views129
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales