Background Image

FORUM

조회 수 12630 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

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

ODBC  이용하여 데이터 입력작업중입니다.  다은과 같은 오류가 발생합니다.
왜 그런건지 알수 있는지요 ?

CA018 

[CUBRID][CUBRID ODBC Driver]儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆T?w?w麥*

512
개 문자열  받아 짐.

CA018  - 원래 오류 문장이 뭔지요 ?

다음 소스에서 확인 부탁 드립니다.


SQLTCHAR *Statement = _T("insert into tablename(번호1,번호2,문자열) values (?,?,?)");

SQLPrepare(m_hstmt, Statement, SQL_NTS);

 

SQLUINTEGER CenterID = 10;

SQLUINTEGER FolderID = 11;

char FileName[1024] = {"문자열테스트"};

SQLINTEGER NumberInd = 0;

SQLINTEGER StringInd = SQL_NTS;


retcode = ::SQLBindParameter(m_hstmt, 1, SQL_PARAM_INPUT, SQL_C_ULONG, SQL_INTEGER, 0, 0, &CenterID, 0, &NumberInd);

if ( !SQL_CK_SUCCEEDED(retcode,SQL_HANDLE_STMT,m_hstmt) ) return 0;

 

retcode = ::SQLBindParameter(m_hstmt, 2, SQL_PARAM_INPUT, SQL_C_ULONG, SQL_INTEGER, 0, 0, &FolderID, 0, &NumberInd);

if ( !SQL_CK_SUCCEEDED(retcode,SQL_HANDLE_STMT,m_hstmt) ) return 0;

 

retcode = ::SQLBindParameter(m_hstmt, 3, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, 0, 0, FileName, 1024, & StringInd);

if ( !SQL_CK_SUCCEEDED(retcode,SQL_HANDLE_STMT,m_hstmt) ) return 0;

 

retcode = ::SQLExecute(m_hstmt);

if ( !SQL_CK_SUCCEEDED(retcode,SQL_HANDLE_STMT,m_hstmt) ) return 0;

 

retcode = ::SQLExecute(m_hstmt);

if ( !SQL_CK_SUCCEEDED(retcode,SQL_HANDLE_STMT,m_hstmt) ) return 0; <- 여기서 에러 남..

 

 

  • ?
    ApiClasser 2009.02.17 01:50

    SQLPrepare 사용 하기 위해서는 AutoCommit을 끝다음에 사용해야 하는 군요.
    다음과 같이 자동 커밋을 꺼둘 수 있습니다.

    SQLRETURN retcode = SQLSetConnectAttr(m_hdbc, SQL_AUTOCOMMIT, SQL_AUTOCOMMIT_OFF, 0);
    if ( SQL_SUCCEEDED(retcode) ) // 오류 처리

    원인은 자동 커밋 상태에서는
    SQLExecute 시에 SQLPrepare로 설정한 내용이 전부 지워 지게 된다고 하내요 .
    cci 셈플 코드 확인하니깐 Commit 후에는 다시 SQLPrepare 를 다시 설정해주어야 하는 것을 보고 알았습니다.
    이것이 다른 DB와 같은지는 잘 모르겠지만 현재 큐브리드에서는 커밋이후에는 Prepare 내용이 지워지는것으로 되어 있습니다.

    이상 자답이었습니다.
  • ?
    cgkang 2009.02.17 10:51
    cubrid_broker.conf에서 STATEMENT_POOLING = on 으로 설정한 다음 실행해 보기 바랍니다.
    이 설정이 off인 경우는 드라이버에서 commit(rollback)이 될때, prepare된 모든 statement를 삭제합니다.
    on 인 경우에는 향후 재사용을 위해 삭제하지 않고 유지하게 됩니다.
    statement pooling기능이 드라이버 위에서 동작할때 이런 형태로 동작하게 되므로,
    이런 형태로 동작하는것을 브로커가 지원할지를 설정하는 것이라고 보면 됩니다.
  • ?
    ApiClasser 2009.02.17 19:22
    cubrid_broker.conf 파일에서 STATEMENT_POOLING 문자열이 없는 상태인데요 ..
    추가 해도 되는지요 ?...

    ODBC 용으로 다른 DB 에도 동일하게 데이터 입출력 작업을 하기 위한 유틸인점...
    현재 제가 의도하는바는 서버에 아무런 조작을 하지 않아도 동일한 결과를 가져 오는 방법을 구상중입니다.
    위 팁대로 하면 서버에 조작을 해야 하는거니.. 참고만 해야 할것 같내요 ...


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4443
987 HA 구성에서 Manager로 대량등록(데이터 올리기) 확인 부탁드립니다... 5 반짝이 2011.05.19 25095
986 CMT 사용 에러 관련 문의 드립니다. 2 file yym3364 2011.05.18 8657
985 4.0 beta CUBRID HA관련 문제... 1 반짝이 2011.05.18 21610
984 jruby에서 jdbc 사용시 driver를 찾지못합니다 1 이니야 2011.05.17 13715
983 DB 오류 1 천인 2011.05.17 9086
982 Error extractiong support files 2 스카이 2011.05.17 8119
981 CUBRID 2008 R4.0 Beta HA 관련 질문입니다. 6 file 반짝이 2011.05.16 25847
980 [심각] 데이터가 많이 누적된 경우, ERROR -670 가 무조건 발생 2 secret 차오이 2011.05.13 11
979 답변 감사드립니다. 슬레이브DB에 관해 한가지더.. 질문... 1 닉넴 2011.05.13 8511
978 CUBRID 2008 R3.1 Patch 2 윈도우 버전은 없나요? 1 김우람 2011.05.13 8179
977 큐브리드 로그인되나, 정보 보이지 않음 1 file 큐브줴임스 2011.05.12 9902
976 복제기능에서 마스터 손상시... 1 닉넴 2011.05.09 8192
975 복제에 관해 복구 질문드려요 1 닉넴 2011.05.07 8217
974 백업 및 복구 복제 확인기능 1 닉넴 2011.05.07 8897
973 Fetching children of Tables...... 3 file 오룡즈 2011.05.06 10030
972 ERD 보통 어떻게 작업하나요? 1 차오이 2011.05.04 38524
971 Materialized View 나 그런 비슷한 기능이 있을까요? 2 안지민 2011.05.04 11708
970 또 에러.. 무슨 말인지 모르겠음.ㅋ 1 carrera 2011.05.03 13190
969 급한 질문입니다. 오류 관련. 1 carrera 2011.05.03 8954
968 설치 질문 1 midas 2011.04.30 9283
Board Pagination Prev 1 ... 146 147 148 149 150 151 152 153 154 155 ... 200 Next
/ 200

Contact Cubrid

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