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
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 52
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
3335 접속제한 설정 질문드립니다 2 유니콘 2011.12.24 12721
3334 function 확인 1 삽질중 2009.10.29 12712
3333 cast 연산쿼리 성능 질문드립니다~ 2 파란시인 2010.03.22 12687
3332 저장함수 문제요.. 1 owlowl 2016.08.24 12657
3331 MS-SQL의 Stored Procedure를 Cubrid로 변환 가능할런지? 2 강나루소나무 2012.02.07 12656
3330 timestamp 필드 데이터를 다시 timestamp로 변환하기 1 byblog 2010.02.20 12652
3329 VB또는 파워빌더에서 Blob 사용법 문의 1 등대지기 2013.08.07 12646
3328 Invalid buffer position! 오류 12 알칸펠 2013.12.20 12645
3327 glibc detected : cub_admin: double free or corruption (fasttop): 0x00000000020b8f60 2 reerror 2013.04.18 12643
3326 ODBC 에서 Fetch 할때 메모리 액세스 위반이 발생합니다. 1 ApiClasser 2009.09.01 12635
3325 윈도우에서 백업받은 DB를 리눅스 환경에서 복구 할수 있나요? 1 newbie 2009.10.03 12632
» ODBC 이용 데이터 입력 중에 ... 3 ApiClasser 2009.02.16 12630
3323 오라클 Encrypt, Decrypt 함수에 해당하는 없나요? 1 아워나 2013.10.11 12605
3322 manager service 에러 1 나루토 2009.04.18 12603
3321 큐브리드설치에러;; 1 가루구 2009.02.14 12593
3320 함수/저장프로시저 타입 오류 관련 문의합니다.(ado.net한글깨짐 포함 수정) 2 file 아이쿠두야 2014.01.01 12591
3319 큐브리드 외부 서버 접속 관련 질문입니다, 1 file 프라우닐 2014.01.23 12590
3318 큐브리드DB와 비주얼베이직6.0을 연동하는 방법좀 부탁드려요 2 난똥배대 2009.08.10 12586
3317 cubrid.jdbc.driver.CUBRIDException: Attempt to access a closed ResultSet. 1 처음큐브리드 2011.02.12 12577
3316 spring cubrid 연동 에러 1 chocob 2014.05.28 12568
Board Pagination Prev 1 ... 29 30 31 32 33 34 35 36 37 38 ... 200 Next
/ 200

Contact Cubrid

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