Мы перенесли некоторые фоновые таблицы данных с сетевого диска (файл mbd) в базу данных SQL Server.В основном все работает отлично, но если сотрудники обращаются к вещам через VPN (что сильно замедляет работу), то мы получаем ошибки подключения, когда запускаем отчеты, которые извлекают много данных.Я предполагаю, что мне нужно установить тайм-аут на большее значение, и я провел некоторое исследование, и мне кажется, что мне нужно установить тайм-аут команды (или, возможно, тайм-аут запроса?).
Ниже приведен код VBA, который мыиспользуйте для подключения таблиц / представлений SQL Server к нашему внешнему интерфейсу Access из внутреннего сервера SQL Server.Я прав, что мне, вероятно, нужно указать время ожидания команды?Куда в этом случае мы добавим значение времени ожидания команды (или другого времени ожидания)?
Public Sub CreateSQLLinkedTable(strSourceTableName As String, strNewTableName As String)
'************************************************************************************
'* Create a linked table in the current database from a table in a different SQL Server file.
'* In: *
'* strNewTableName - name of linked table to create *
'* strSourceTableName - name of table in database *
'************************************************************************************
Setup:
Dim tdf As TableDef
Dim strConnect As String, strMsg As String
Dim myDB As Database
' set database vars
Set myDB = CurrentDb
Set tdf = myDB.CreateTableDef(strNewTableName)
MakeConnections:
On Error GoTo OnError
' turn system warnings off
DoCmd.SetWarnings False
' define connect string and source table
' We do not need to specify the username (Uid) and password (Pwd) in this connection
' string, because that information is already cached from the connection to the SQL
' Projects database that we created in CheckSQLConnection() that was run to check connection
' to the database. So here we can have a connection string without the Uid and Pwd.
With tdf
.Connect = "ODBC;Driver={SQL Server};" & _
"server=" & myServer & ";" & _
"database=" & mySQLDB & ";"
.SourceTableName = strSourceTableName
End With
' execute appending the table
myDB.TableDefs.Append tdf
' turn system warnings back on
DoCmd.SetWarnings True
ExitProgram:
' this block of code will run if there are no errors
Exit Sub
OnError:
' this block of code runs if there is an error, per On Error assignment above
' display error message with details
MsgBox "There was an error connecting to the SQL Server data source Projects. Error = " & err & ", Description: " & err.Description
'exit Projects
Call CloseFormsAndQuit
End Sub