2012-06-26 5 views
1

사용자 DSN에서 "Oracle 용 Microsoft ODBC"드라이버를 사용하여 oracle에 대한 ODBC 연결을 만들었습니다. 나는 SQL Developer를 사용하여 오라클 10g에 연결할 수 있지만 내가 ODBC를 통해 연결하려고 할 때 그는VBA를 통해 Oracle에 연결할 수 없음 - 드라이버의 SQLSetConnectAttr이 실패 함

[마이크로 소프트] [ODBC 드라이버 관리자] 운전은 SQLSetConnectAttr 실패

나는 다음과 같은 코드를 시도 말 연결 용.

data_src = Oracle 
Database = sys 
Uid = <my id> 
pwd = <my pwd> 
Set cn=new ADOBB.Connection 
Cn.open "DataSource=" + data_src + ";" + Database + "; persist security Infor = True; UserID= " + Uid + "; Password=" + pwd + "; SessionMode = ANSI;" 

이미 다른 설정으로 동일한 코드를 사용하여 Teradata에 연결했습니다. VBA에서 Oracle 10g를 연결하는 데 도움주세요

+2

VBA의 연결자는 +, +가 아니므로 null 값에 문제가 발생할 수 있습니다. – Fionnuala

+0

하지만 동일한 코드를 사용하여 Teradata를 연결하려고하면 똑같이 작동합니다. – logan

답변

1

알려진 문제점 - IBM support post을 참조하십시오. 해결책 - Oracle 드라이버를 사용하십시오.

다른 연결 드라이버 문자열은 데이터베이스 드라이버마다 다릅니다. 오라클의 자신의 드라이버 하나가

Driver={Oracle in OraHome92};Dbq=myTNSServiceName;Uid=myUsername;Pwd=myPassword; 

공유에 유사하고 즐길 예를 들어, 마이크로 소프트 오라클 드라이버에 대한 연결 문자열은

Driver={Microsoft ODBC for Oracle};Server=myServerAddress;Uid=myUsername;Pwd=myPassword; 

과 같을 것이다.

+0

문제가 해결됩니다. ODBC (SQL) 맵에 대해 DSN을 만들 때 Oracle 용 Microsoft 드라이버를 사용하여 만들 수 없습니다. Oracle ODBC 드라이버를 사용하여 DSN을 만듭니다 . "Mircosoft ODBC를 사용하여 연결하고 싶습니다." 어쨌든 Microsoft의 코드를 사용해보고 알려 드리겠습니다. – logan

관련 문제