에러가 왜 날까요... 잘 입력 되다가 이런 에러가 나네요.. 파이선 사용자입니다.

by 오션나인 posted May 27, 2021


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
Window10 64bit
CUBRID Ver.
CUBRID 10.1 (10.1.1.7691-47d2437) 
CUBRID TOOL Ver.
CUBRID Manager 11.0.0.0001 (64bit)
응용 환경(API)
python


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


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

 

 

INSERT INTO SALES_BUILD_MST ( BUILD_ID, BUILD_NAME, CATEGORY, ADDRESS, CORD_X, CORD_Y, THEME_ID, THEME_URL, USEAPPROVE_YMD)

VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)

 

입력데이터 

 

buldid :661437801
name :서울대학교병원 기장암센터
useApproveYmd :202501
category :건강,의료종합병원
address :부산광역시 기장군 장안읍 좌동리 314
x :129.2480007
y :35.3221966
themeId :661437801
targetUrl :

 

Traceback (most recent call last):
  File "C:/work/PycharmProjects/buildGetFrom.py", line 185, in <module>
    cur.execute(sql2, (buldid, name, category, address, x, y, themeId, targetUrl, useApproveYmd, curtime))
  File "C:\Users\AppData\Local\Programs\Python\Python36\lib\CUBRIDdb\cursors.py", line 115, in execute
    r = self._cs.execute()
_cubrid.IntegrityError: (-494, 'ERROR: DBMS, -494, Semantic: Cannot coerce host var to type numeric. [CAS INFO-127.0.0.1:30000,1,5504].')

 

 

테이블

 

CREATE TABLE sales_build_mst (
    build_id CHARACTER VARYING (12) NOT NULL,
    build_name CHARACTER VARYING (50),
    category CHARACTER VARYING (50),
    address CHARACTER VARYING (300),
    cord_x NUMERIC(10, 7),
    cord_y NUMERIC(10, 7),
    theme_id CHARACTER VARYING (10),
    theme_url CHARACTER VARYING (300),
    useapprove_ymd CHARACTER VARYING (12) DEFAULT '999901' NOT NULL
    CONSTRAINT pk_sales_build_mst_build_id PRIMARY KEY(build_id)
)

 

 

--- 실행 소스 ----

 

            cur = conn.cursor()
            cur.execute(sql2, (buldid, name, category, address, x, y, themeId, targetUrl, useApproveYmd))
            row = cur.fetchone()  # 한건 cur.fetchall() 여러건
            cur.close()

 

 

 

실행소스를 안넣어놔서 추가 했습니다.
사실. For 문으로 루프 돌면서 진행되는데.. , 예를 들면 이런식입니다. 1000개의 데이터중 1~2개의 데이터가
_cubrid.IntegrityError: (-494, 'ERROR: DBMS, -494, Semantic: Cannot coerce host var to type numeric. [CAS INFO-127.0.0.1:30000,1,5504].')
이런 문제가 발생하네요.. 데이터를 로그로 봐도 문제가 없는거 같은데.. 왜 이런 문제가 발생하는지 모르겠어서 올렸습니다.

 


Articles

2 3 4 5 6 7 8 9 10 11