0

Oracle DB에 연결하려고합니다. 버전이 12c라고 생각합니다. 클라이언트를 사용하여 동일한 DB에 연결할 수 있습니다 (SQL 개발자),하지만 내 응용 프로그램의 일부로 사용하고자하는 VBscript를 사용하여 연결하는 동안 문제가 발생했습니다. 여기오라클 클라이언트에서 연결할 수 있지만 스크립트가 아닙니다 - 유효하지 않은 사용자/비밀번호

 **Exception: OraOLEDB - ORA-01017: invalid username/password; logon denied** 

내가 연결을 사용하고 내 스크립트입니다 - - 여기

는 오류 메시지입니다

Option Explicit 
On Error Resume Next 
'Dim strSQLQuery: strSQLQuery = "SELECT sysdate FROM dual" 
Dim strDBDesc: strDBDesc = "(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = XXX)(PORT = XXX))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME =  XXXX)))" 
Dim strUserID: strUserID = "user" 
Dim strPassword: strPassword = "pass" 
Dim ADODBConnection: Set ADODBConnection =        CreateObject("ADODB.Connection") 
Dim strConnection 
strConnection = "Provider=OraOLEDB.Oracle;Data Source=" & strDBDesc & _ 
      ";User ID=" & strUserID & ";Password=" & strPassword & ";" 

ADODBConnection.Open strConnection 

If Err <> 0 Then 
    WScript.Echo "An error occurred in Opening Connection: " & Err.Number & " " & Err.Description & " " & Err.Source 
End If 
Set ADODBConnection = Nothing 
+0

데 도움이되기를 바랍니다. 두 응용 프로그램의 다른 데이터베이스에 연결하려고합니다. –

+0

질문에 VBA 태그를 달기 위해 수정 사항을 제출 했으므로 답변 할 수있는 사람들에게 접근 할 수 있습니다. 나는 빠른 모양을 보았고 통화 구문이 옳았다. 전체 연결 설명 대신 strDBDesc의 Oracle 서비스 이름으로 시도 할 수 있습니다. cmd 프롬프트에서 TNSPING을 사용하여 클라이언트의 Oracle 서비스 이름이 올바르게 해석되는지 확인하십시오. 그래도 문제가 해결되지 않으면 다른 유형의 공급자 연결을 시도하십시오. –

+0

저스틴 - 나는 적어도 25 번이나 내 자격 증명을 확인하고 그들은 옳았 어! – RData

답변

0
  1. 암호가 단순 또는 특수 문자가? 이스케이프 문자열을 사용하거나 특수 문자가있는 경우 따옴표를 사용하십시오.

  2. 위에서 아래 코드를 사용하여 "ADODBConnection.ConnectionString = strConnection"을 사용하고 연결을 엽니 다.

  3. 중단 점을 배치하고 드라이버에 연결 문자열로 전달되는 내용을 확인하십시오.

은 참조 : https://docs.oracle.com/cd/E47955_01/win.121/e18594/using.htm

+0

암호에'_ '및 다른 특수 문자는 없지만 두 가지 모두의 경우에는 소문자가 혼합되어 있습니다. 연결 문자열을 넣었지만 스크립트를 확인했지만 다른 인스턴스에 연결하고 아무런 문제가 없습니다. 다른 사용자의 경우 술 암호와 사용자 이름이 발급되었으며 동일한 스크립트를 사용하여 연결하는 동안 아무런 문제가 없습니다. – RData

+0

사용자의 연결 권한을 확인하십시오. 코드에 아무런 문제가 없기 때문입니다. 따라서이 인스턴스 또는 연결에 실패한 사용자이어야합니다. 연결 권한을 확인하십시오. – Sud