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 51
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
894 ORDER BY ** ASC 조건과 offset 조건이 같이 있을 경우 발생되는 오류 문의 7 file 충이 2019.05.22 298
893 ORACLE의 STRING_AGG와 같은 기능을 하는 함수 구현 관련 2 ihyeon0214 2021.10.14 425
892 ORACLE의 DBMS_XMLGEN.GETXMLTYPE를 CUBRID 변형 방법 요청 1 Rkakrnl 2019.05.16 741
891 ORACLE_STYLE_EMPTY_STRING 설정 값에 의한 TRIM 처리에 대한 문의 1 zeroradish 2020.10.14 102
890 ORACLE DB LINK 문의 1 secret MJHan 2012.10.24 6
889 OPENROWSET 을 사용한 검색결과 문의 5 file idonot 2013.01.17 12771
888 OPENROWSET EXCEL SELECT 문의 2 강창순 2017.05.13 3979
887 OODB특성을 사용하기 위해 DBCP를 포기하는게 적당할까요? 2 안지민 2011.03.30 9614
886 ON DUPLICATE KEY UPDATE 사용시 affected rows 에 관한 질문 1 Xenos 2012.05.09 15021
885 OLEDB 이용하여 OUTER JOIN 에러 1 redhope 2010.12.04 8671
884 OLEDB 연결시 에러 db_e_sec_auth_failed ( 0x80040E4D ) 1 BlueHeart 2014.07.07 6231
883 OLEDB 연결 시 에러 발생 4 늘푸른거북이 2009.02.12 22252
882 OLEDB 에서의 DATE_FORMAT 함수 문의에 대한 답변은 언제쯤? 2 유니콘 2010.08.18 9866
881 OLEDB 에서의 DATE_FORMAT 함수 문의 4 유니콘 2010.08.16 11964
880 OLEDB 에서 OID 자동으로 가져오게 하는 방법? 2 서명호 2009.05.01 13374
879 OLEDB 설치시 오류 15 file choiboss 2012.10.20 16042
878 OLEDB insert관련 질문입니다. 1 garfield39 2009.02.05 16334
877 OLEDB Driver Error... 4 flypig 2009.04.24 13259
876 OLE 접속 테스트가 안되네요.ㅜ.ㅜ 도와주십셔서오요~ 2 file 해커킬러 2009.08.28 9068
875 OLE DB에서 자바 저장프로시져 사용 1 secret shadow54 2010.07.19 8
Board Pagination Prev 1 ... 151 152 153 154 155 156 157 158 159 160 ... 200 Next
/ 200

Contact Cubrid

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