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 4442
3926 Clob Type. 1 tekkal 2009.01.31 18586
3925 PHP 에서 cubrid_connect 실패. 1 별의목소리 2009.02.03 14381
3924 solaris와 hp-unix 지원 관련 2 tekkal 2009.02.03 16023
3923 C/C++ 지원하는 Connection Pool API 는 없나요? 2 tekkal 2009.02.03 21008
3922 DWMAPI.dll 관련 오류 2 file GGG특별대원 2009.02.04 33284
3921 OLEDB insert관련 질문입니다. 1 garfield39 2009.02.05 16334
3920 cubrid manager에서 DB 권한 2 2~40자? 2~40byte? 2009.02.07 13883
3919 [replication] 성능에 대한 질문입니다. 2 kkckc 2009.02.10 16668
3918 [질문]큐브리드 설치관련입니다. 2 file 야매코더 2009.02.12 13516
3917 cubrid 2008 windows버전에서의 CUBRID_Service_Tray 실행오류 2 마비토 2009.02.12 14156
3916 프로그램 개발 후 배포 관련 3 늘푸른거북이 2009.02.12 25365
3915 OLEDB 연결 시 에러 발생 4 늘푸른거북이 2009.02.12 22252
3914 큐브리드 메니져로 쿼리 결과 조회시 3 ApiClasser 2009.02.13 13544
3913 VB ADO 사용 관련 문의를 드립니다. 1 늘푸른거북이 2009.02.13 17377
3912 [질문]재설치 실패... 2 file 야매코더 2009.02.13 12779
3911 큐브리드 메니져로 쿼리 결과 조회시#2 1 file ApiClasser 2009.02.14 12852
3910 큐브리드설치에러;; 1 가루구 2009.02.14 12593
3909 어찌해서 설치는됫는데.. 1 가루구 2009.02.16 14529
» ODBC 이용 데이터 입력 중에 ... 3 ApiClasser 2009.02.16 12630
3907 오라클의 contains()문과 비슷한 기능을 소개해주세요 1 타이거팀 2009.02.17 36297
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 200 Next
/ 200

Contact Cubrid

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