Хорошего дня,DSN подключения к удаленной базе данных повсеместной
Я создал небольшую процедуру VBA, чтобы получить данные из Pervasive базы данных, используя имя DSN. Это отлично работает, когда я нахожусь в той же сети, что и сервер. Мне нужно иметь возможность запускать эту процедуру, когда я не в той же сети. Я пробовал много разных строк соединения, но не смог открыть соединение. Я не уверен, с чего начать стрельбу, чтобы заставить ее работать. У меня есть доступ к серверу через удаленный рабочий стол с использованием имени dyndns - не уверен, могу ли я использовать это как адрес сервера в моей строке соединения?
Ниже приведен код VBA, который работает, когда локальный. Мне нужен способ сделать эту работу удаленно.
Sub GetData()
Dim adoConn As ADODB.Connection
Dim adoRs As ADODB.Recordset
Dim sSql As String
sSql = "SELECT AccDesc, BalanceThis01, " & _
"FROM LedgerMaster WHERE NumberSubAccs = 0"
Set adoConn = New ADODB.Connection
adoConn.Open "DSN=KAYDAV"
Set adoRs = New ADODB.Recordset
adoRs.Open Source:=sSql, _
ActiveConnection:=adoConn
With Sheet2
.Range(Cells(5, 1).Address, Cells(5000, 44).Address).Value = vbNullString
.Cells(5, 2).CopyFromRecordset adoRs
End With
Set adoRs = Nothing
Set adoConn = Nothing
End Sub
Спасибо - я попрошу, чтобы он открыл порт и повторил попытку. Просто для подтверждения, для «myServerAddress» я бы использовал «mydyndns.com»? – Niel
Правильно, «myServerAddress» - это ваше имя сервера («mydyndns.com»), а «dbname» - это имя базы данных, к которому вы пытаетесь получить доступ (например, DEMODATA). – mirtheil
ОК, я попробовал следующий код ниже. Я получаю эту ошибку: [Pervasive] [Клиентский интерфейс ODBC] [ClientLNA] Тайм-аут подключения. Диспетчер подключений SQL может быть неактивным или использовать другой протокол от клиента. Sub TestConnection02() Dim adoConn Как ADODB.Connection Dim adoRs Как ADODB.Recordset Dim connString As String connString = «Driver = {Pervasive ODBC Client Interface}; ServerName = mydns.co.za; DSN = MYDSN; " Set adoConn = New ADODB.Connection adoConn.Open connString End Sub – Niel