Um DSN do sistema, por definição, é local para o computador em que está configurado. Você precisará criá-lo no outro servidor.
Uma opção alternativa é usar uma string de conexão sem DSN, se possível.
Temos um DSN na máquina A que aponta para um DB na máquina B. Temos uma máquina C, que queremos poder usar esse DSN na máquina A ... mas não queremos criar DSN na máquina C.
Existe uma maneira de usar o DSN do sistema na máquina A da máquina C?
Não, o objetivo de um DSN é uma conexão de uma máquina para uma fonte de dados. Não é do melhor do meu conhecimento "proxy" uma conexão DSN de uma máquina para outra.
sim, você pode ... eu sei que esta resposta não te incomoda depois de vários anos fazendo esta pergunta, mas eu acho que pode ajudar outras pessoas a procurar por isso.
Você pode conseguir isso usando menos abordagem de DSN
Por exemplo: string de conexão para DSN do servidor SQL
oConn.Open "Driver={SQL Server};" & _
"Server=xxx.xxx.xxx.xxx;" & _
"Address=xxx.xxx.xxx.xxx,1433;" & _
"Network=DBMSSOCN;" & _
"Database=myDatabaseName;" & _
"Uid=myUsername;" & _
"Pwd=myPassword"
Eu mesmo já tentei, mas você precisa ter direitos de acesso suficientes
Sim, você pode, mas requer uma solução de terceiros, como que seja do meu empregador .
Essas soluções normalmente envolvem a instalação de alguns componentes na máquina consumidora de dados (C) e alguns componentes na máquina com o ODBC DSN (A). A conexão acaba parecendo
ODBC consumer on C
-> ODBC Bridge DSN on C
-> ODBC Bridge components on A
-> ODBC DSN on A
-> target DBMS on B