2014-11-10 2 views
0

Oracle 데이터베이스 연결이있는 Excel 매크로가 있습니다. 매크로를 호출하면 사용자 이름과 암호가 채워지지만 서비스 이름은 채워지지 않습니다. 사용자는 매번 수동으로 서비스 이름을 입력해야합니다.Oracle ODBC 연결 문자열에서 "서비스 이름"을 지정하는 방법

어떻게 연결 문자열에 지정할 수 있습니까?

연결 문자열 : 프롬프트

CN.ODBCConnection.Connection = _ 
"ODBC;DRIVER={Oracle in OraClient11g_home2};" & _ 
"UID=" & inputUser & ";PWD=" & inputPassword & ";" & _ 
"HOST=" & inputHost & ";PORT=1521;DB=" & inputHost & ";" & _ 
"DefaultIsolationLevel=READUNCOMMITTED" 

엑셀 :

enter image description here

+0

서비스 이름이 연결 문자열의 일부 얼마나 무엇입니까? 자세한 내용은 [ConnectionStrings] (http://www.connectionstrings.com/oracle/) –

+0

을 참조하십시오. 이미 확인했습니다. 아래에 언급 된 Jimmy처럼 "SERVICE_NAME ="매개 변수가있는 해당 웹 사이트에 연결 문자열이 있지만 작동하지 않습니다. – Ned

답변

2

발견. 그것은 DBQ

새로운 연결 문자열입니다 :

CN.ODBCConnection.Connection = _ 
"ODBC;DRIVER={Oracle in OraClient11g_home2};" & _ 
"DBQ=" & inputHost & ";UID=" & inputUser & ";PWD=" & inputPassword & ";" & _ 
"HOST=" & inputHost & ";PORT=1521;DB=" & inputHost & ";" & _ 
"DefaultIsolationLevel=READUNCOMMITTED" 
1

그것은 당신의 드라이버에 따라 달라집니다,

하지만 설정 파일이없는 check this out, 당신이 있습니다 옵션을 t로 지정하십시오. 그는 연결 문자열. , 또한,이 시도

CN.ODBCConnection.Connection = _ 
"ODBC;DRIVER={Oracle in OraClient11g_home2};" & _ 
"SERVICE_NAME=" & inputHost & ";UID=" & inputUser & ";PWD=" & inputPassword & ";" & _ 
"HOST=" & inputHost & ";PORT=1521;" & _ 
"DefaultIsolationLevel=READUNCOMMITTED" 

을 부여 inputHost 그것은 현재 두 경우 모두 사용해야합니다 있는지 확인하십시오. 하나는 서버의 인스턴스 여야하며 다른 인스턴스는 데이터베이스 내에 있어야합니다.

+0

잘 잡았지만 작동하지 않습니다. SERVICE 매개 변수가 작동하지 않습니다. DB, HOST 및 SERVICE NAME 값은 내 환경에서 동일합니다. – Ned

+0

아하, Oracle XE 에디션인가? 앞에서 말했듯이 드라이버에 따라 다르므로 원래의 연결 문자열에서 드라이버를 수집 할 수 없습니다. –

관련 문제