Назад | Перейти на главную страницу

Можно ли подключиться к системному DSN на удаленном компьютере?

У нас есть DSN на машине A, который указывает на DB на машине B. У нас есть машина C, и мы хотим иметь возможность использовать этот DSN на машине A ... но мы не хотим создавать DSN на машине С.

Есть ли способ использовать системный DSN на машине A с машины C?

Системный DSN по определению является локальным для компьютера, на котором он настроен. Вам нужно будет создать его на другом сервере.

Альтернативный вариант - использовать строку подключения без DSN, если это возможно.

Нет, цель DSN - соединение одной машины с одним источником данных. Насколько мне известно, невозможно "проксировать" DSN-соединение с одной машины на другую.

да, вы можете ... я знаю, что этот ответ не беспокоит вас после нескольких лет, когда вы задаете этот вопрос, но я думаю, что он может помочь другим людям, которые его ищут.

Вы можете добиться этого, используя подход без DSN

Например : строка подключения для SQL-сервера DSN

oConn.Open "Driver={SQL Server};" & _
           "Server=xxx.xxx.xxx.xxx;" & _
           "Address=xxx.xxx.xxx.xxx,1433;" & _
           "Network=DBMSSOCN;" & _
           "Database=myDatabaseName;" & _
           "Uid=myUsername;" & _
           "Pwd=myPassword"

Я сам уже пробовал, но у вас должны быть достаточные права доступа

Можно найти больше строк подключения DSN Вот

Да, можно, но для этого требуется стороннее решение, например это от моего работодателя.

Эти решения обычно предполагают установку некоторых компонентов на машине, потребляющей данные (C), и некоторых компонентов на машине с ODBC DSN (A). В итоге соединение выглядит как

ODBC consumer on C
   -> ODBC Bridge DSN on C
       -> ODBC Bridge components on A
           -> ODBC DSN on A
               -> target DBMS on B