Ошибка подключения к Oracle DBA: соединение не открыто - PullRequest
0 голосов
/ 15 января 2019

Я написал код в VBA для подключения к Oracle DBA. Но после запуска кода появляется ошибка

ORA-06413: Соединение не открыто.

Моя система

  • Windows 8 64 бит
  • Microsoft Office профессиональный плюс 2013 32 бит.
  • оракул 32-разрядный.
  • ODBC DSN установлен как 32-разрядный myORA.

Код хорошо работает в Windows 7. Я хочу исправить это, также не работает в Windows 8 из-за обновления в системе.

1 Ответ

0 голосов
/ 15 января 2019

Пример ADO

Возможно, вам нужно обновить строку подключения. Пожалуйста, обратитесь к https://www.connectionstrings.com для примеров.

Объекты данных Microsoft ActiveX (ADO) нужна ссылка на «Библиотеку Microsoft ActiveX Data Objects x.x»

Sub ConnectToOracleViaADO()
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim myResult As String

    Set cn = New ADODB.Connection

    cn.ConnectionString = "{Microsoft ODBC for Oracle};Server=myServerAddress; _
        Uid=myUsername;Pwd=myPassword;"
    cn.ConnectionTimeout = 5
    cn.Open

    If cn.State <> adStateOpen Then
        MsgBox "Sorry, couldn't open database connection.", _
            vbCritical + vbOKOnly, "Error"
        Exit Sub
    End If

    cn.CommandTimeout = 1

    Set rs = New ADODB.Recordset
    rs.Open Source:="SELECT something;", _
        ActiveConnection:=cn, _
        CursorType:=adOpenStatic, _
        LockType:=adLockReadOnly, _
        Options:=adCmdUnspecified
    myResult = rs.Fields(0).Value

    rs.Close
    cn.Close
    Set rs = Nothing
    Set cn = Nothing
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...