원격 Oracle 11g 데이터베이스에 연결하고 쿼리를 실행 한 다음 Excel로 데이터를 반환 할 Excel VBA 프로그램을 개발 중입니다.VBA - ADODB 원격 Oracle 데이터베이스에 연결
내가 아는 한 연결 문자열과 드라이버는 모두 정상입니다. (아래 참조)
어제는 완벽하게 작동하여 db에 연결하고 정확한 데이터를 반환했습니다. 그런 다음 저장하고 통합 문서를 폐쇄 (아무런 변경이 없다!) 20분 나중에 열어 I 매크로를 실행했을 때 나는 다음과 같은 오류 있어요 :
Runtime error '-2147418113 (8000ffff)': Catastrophic failure
오류의 원인이 될 수 있는지 어떤 아이디어? DB쪽에 뭔가있을 수 있습니까?
감사
Sub ExtractFromOracle(environment As String)
Dim cn As ADODB.connection
Dim recordSet As ADODB.recordSet
Set cn = CreateObject("ADODB.Connection")
Set recordSet = CreateObject("ADODB.recordset")
Dim SQLQuery As String
SQLQuery = "SELECT User_Id, Prof_Id FROM user_profile ORDER BY User_Id ASC"
Dim returnData As Variant
Dim returnedRowsCount As Integer
Dim connectionString As String
connectionString = ReturnConnectionString(environment)
cn.Open (connectionString) ------------> ERROR OCCURS HERE
Set recordSet = cn.Execute(SQLQuery)
returnData = Application.Transpose(recordSet.GetRows)
returnedRowsCount = UBound(returnData)
If Not SheetExist(environment) Then
CreateTab (environment)
End If
Worksheets(environment).Activate
ActiveSheet.Range("A1:B" & returnedRowsCount) = returnData
Set rs = Nothing
Set cn = Nothing
ConsolidateUsers (environment)
End Sub
연결 문자열 :
"Provider=OraOLEDB.Oracle;Data Source=(DESCRIPTION=(CID=GTU_APP)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xxxxxxx)(PORT=xxxx)))(CONNECT_DATA=(SID=xxxxx)(SERVER=DEDICATED)));User Id=xxxxxx;Password=xxxxxxx;"
만약 그 라인들을 제거하면 어떻게 될까? –