我正在使用以下代码创建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()
问题是即使将DB对象设置为null,连接也不会关闭。由于先前的原因,当新用户登录时,旧的凭据将用于连接,并且使用先前连接的属性创建连接对象。连接会话似乎在Oracle数据库上存在。
使用DAO驱动程序时如何销毁连接?此外,我不得不提及的是,我可以通过使用ADO连接来使用替代日志记录选项,并且我没有遇到类似的问题,并且该连接已关闭并完全重新创建。
我正在使用以下代码创建DAO连接:设置myWorkspace = DBEngine.CreateWorkspace(“ MYAPP”,“ admin”,“”)设置DB = myWorkspace.OpenDatabase(DBName,dbDriverNoPrompt,True,...] >
我可以以其他方式创建连接,并且该连接将关闭:
Dim DB as DAO.Database
Dim DBE as DBEngine
Set DBE = new DBEngine
Set DB = DBE.Workspaces(0).OpenDatabase(DBName, dbDriverNoPrompt, true, IDatenbank_BuildConnectionString(ODBCConnection))
Call DB.Close
Set DB = Nothing
Set DBE = Nothing