DAO соединение через ODBC Manager не сближается в VBA - PullRequest
0 голосов
/ 31 мая 2019

Я использую следующий код для создания соединения DAO:

  Set myWorkspace = DBEngine.CreateWorkspace("MYAPP", "admin", "")

   Set DB = myWorkspace.OpenDatabase(DBName, dbDriverNoPrompt, True, IDatenbank_BuildConnectionString(ODBCConnection))


  IDatenbank_BuildConnectionString = "ODBC" & _
                                    ";DSN=" & ODBCConnection.Name & _
                                    ";Uid=" & ODBCConnection.User & _
                                    ";Pwd=" & ODBCConnection.Password

, где

> IDatenbank_BuildConnectionString = ODBC;DSN=US Company Int;Uid=ALA1Bala;Pwd=hihihi

и следующий код для закрытия соединения:

 Set myWorkspace = Nothing

 Set DB = Nothing

или

DB.Close()

Проблема, с которой я сталкиваюсь, заключается в том, что даже если объект БД настроен на нулевое значение, соединение не закрывается.Из-за предыдущего, когда новый пользователь регистрируется в системе, старые учетные данные используются для подключения, и объект подключения создается со свойствами из предыдущего подключения.Сеанс соединения, по-видимому, существует в базе данных Oracle.

Не могли бы вы помочь мне советом о том, как действительно уничтожить соединение при использовании драйвера DAO.Более того, я должен упомянуть, что я могу использовать альтернативную опцию ведения журнала с помощью ADO-соединения, и у меня нет подобных проблем, и соединение становится закрытым и воссоздается заново.

...