ODBC로 연결을 했는데 자꾸 E_FAIL이 뜹니다.제발 답변좀 달아주세요!!개인이라고 신경 안써주시나?

by JKwang2 posted Mar 12, 2015

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
windows server2012 Datacenter 64bit
CUBRID Ver.
9.3
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
asp(ODBC 9.3)

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


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

에러메시지

Microsoft Cursor Engine 오류 '80004005'

데이터 공급자나 기타 서비스가 E_FAIL 상태를 반환했습니다.

==========================================================


현상이 두가지 인데요.

테이블중에 select해오려는 컬럼이 VARCHAR 최대값이 아닌경우- VARCHAR(20)등 - 에는 E_FAIL에러가 납니다. 

그렇지만 최대값 VARCHAR(1073741823) 인 경우에는 E_FAIL에러나 납니다.


SELECT * FROM [테이블이름]


또다르 한가지는

SELECT COUNT(*) FROM [테이블이름]


이경우에는 테이블의 컬럼타입에 상관없이 E_FAIL이 납니다.


Set DefaultConnection = CreateObject("ADODB.Connection")

DefaultConnection.Open DefaultConnString

Set connectionString = DefaultConnection

Set rs = CreateObject("ADODB.RecordSet")

Set cmd = CreateObject("ADODB.Command")


cmd.ActiveConnection = connectionString

cmd.CommandText = strSQL

cmd.CommandType = adCmdText

Set cmd = collectParams(cmd, params)


rs.CursorLocation = adUseClient

rs.Open cmd, , adOpenStatic, adLockReadOnly


Set cmd.ActiveConnection = Nothing

Set cmd = Nothing

Set rs.ActiveConnection = Nothing


본사에 두번이나 전화를 해도 개인고객은 Q&A에 남기면 답변을 달아줄거라고 하더군요. 얼마나 기다려야 하는지..거참;;



Articles