Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Recuparare parametri ODBC da dentro ACCESS

118 views
Skip to first unread message

Simone

unread,
Aug 16, 2007, 1:21:34 PM8/16/07
to
Salve,
ho un applicazione che utilizza tabelle su un server MsSql connesse tramite
ODBC.
La stessa applicazione con database identico ma di nome diverso, e a volte
su un server diverso viene utilizzata da svariati utenti.
Mi occorrerebbe poter "leggere" il server a cui si riferisce la connessione
ODBC con la quale sono linkate le tabelle.
Mi riesce perfettamente recuperare il nome della connessione ODBC a cui fa
riferimento ogni tabella.
Come faccio a fare il passaggio ulteriore?
Sapendo il nome della connessione ODBC ricavare (non so da dove o come) il
nome del server e gli altri parametri?
Grazie

Simone

ALESSANDRO Baraldi

unread,
Aug 16, 2007, 1:45:52 PM8/16/07
to
"Simone" <sp1...@katamail.com> ha scritto nel messaggio
news:fa212v$2l82$1...@newsreader1.mclink.it...

La stringa di connessione sarà una cosa simile(Semplificata):

DRIVER={SQL Server};SERVER=NomeServer;DATABASE=NomeDB

Secondo te come fai a sapere qual'è il Server....??

Function GetServer(strConnection As String) As String
Dim inS As Integer
inS = InStr(sConn, "SERVER=") + Len("SERVER=")
GetServer = Mid$(sConn, inS, InStr(inS, sConn, ";") - inS)
End Function

--
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------


Simone

unread,
Aug 17, 2007, 3:55:00 AM8/17/07
to

"ALESSANDRO Baraldi" <ik2...@libero.it> ha scritto nel messaggio
news:fa22jm$o3d$1...@aioe.org...

Forse non mi sono spiegato.

Se eseguo questa query:

select name, foreignname,connect from msysobjects where connect
is not null

ottengo nel campo connect la stringa di connessione che, almeno nel mio
caso, è questa:

DSN=NomeDSN;APP=Microsoft Office
2003;WSID=NomeDelMioPC;DATABASE=NomeDelDataBase

come vedi il nome del server non c'è! e dovrei sapendo NomeDSN recuparare il
nome del server specificato nel DSN configurato...

Le tabelle sono collegate tramite collegamento "manuale" (=collega tabella)
da dentro access perché ho bisogno di farci riferimento direttamente con
svariate maschere che "puntano" direttamente sulle tabelle.

In alternativa potresti suggerirmi un modo per collegare run-time le tabelle
dentro access con una connessione DSN less.

Ciao

Simone


Alessandro Cara

unread,
Aug 17, 2007, 7:14:05 AM8/17/07
to
perche' e' un DSN di sistema? Usa un DSN su file quando esegui il
collegamento

>
> come vedi il nome del server non c'è! e dovrei sapendo NomeDSN recuparare il
> nome del server specificato nel DSN configurato...
i DSN stanno generalmente in <systemdisk>\Programmi\FileComuni\ODBC
e sono uno "squallido" file di testo con righe in coppia chiave=valore
(un tipo .ini per intenderci)

>
> Le tabelle sono collegate tramite collegamento "manuale" (=collega tabella)
> da dentro access perché ho bisogno di farci riferimento direttamente con
> svariate maschere che "puntano" direttamente sulle tabelle.
????? Questa non l'ho capita

>
> In alternativa potresti suggerirmi un modo per collegare run-time le tabelle
> dentro access con una connessione DSN less.

qui alla funzione "LinkTableDAO" trovi un esempio
http://www.webservertalk.com/archive136-2004-8-361865.html
e' la prima che mi e' capitato di trovare ma sicuramente nei siti di
riferimento del NG trovi tutto quello che cerchi
www.sitocomue.com
www.alessandrobaraldi.it
www.donkarl.com/it
www.accessgroup.it
e puoi provare anche su
www.mvps.org

gli indirizzi li ho scritti a memoria spero siano tutti corretti
--
ac
y-1=x

0 new messages