38 messaggi dal 25 gennaio 2007
Salve a tutti.
Devo cambiare il file da utilizzare nell'applicazione. Per far ciò devo modificare il DSN di sistema.
Utilizzo il codice seguente:
My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\NOMEAPP\", "DBQ", MyFileNow), ma non succede niente.
Il registro di sistema resta invariato.
Qualche suggerimento?
Non capisco cosa sia il My.Computer... io uso solo Registry.SetValue.
MyFileNow è una stringa che rappresenta il nome del file da usare?

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
38 messaggi dal 25 gennaio 2007
My.Computer.Registry.ecc è il codice che utilizzo per modificare la chiave di registro corrispondente. Anche usando solo Registry.ecc il risultato non cambia.
MyFileNow è la stringa che contiene il nome del file e del percorso es. "C:\archivi\2012\miodatabase.mdb".
La linea di codice precedente la utilizzo in altre parti dell'applicazione, dove funziona perfettamente. La differenza è solo nella chiave di registro. In altre parti scrivo nella chiave HKEY_CURRENT_USER\Software\VB and VBA Program Settings\mioprogramma, qui invece cerco di scrivere in HKEY_LOCAL_MACHINE\Wow6432Node\ODBC\ODBC.INI\ecc.
Il problema, come accennato è che non succede proprio niente. Nè viene scritta la chiave, nè viene generato un errore.
ma perché non usi un file esterno al registro per i parametri di connessione... comunque, apri la chiave con RegistryKey.OpenSubKey(String, true)?

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
38 messaggi dal 25 gennaio 2007
Scusa il ritardo.
prima rispondo alla seconda domanda: sì apro la chiave con RegistryKey.OpenSubKey(String, true).
Alla prima dmanda non sò rispondere.
Uso ODBC e ho cercato la soluzione per aggiornare le impostazioni come detto. Riguardo la tua proposta, non saprei da dove cominciare. Mi puoi indirizzare?
i provider odbc nei 64bit danno spesso problemi, alcune cose le scrivono nel registro normale, altre in quello WOW64.
In pratica invece di usare il registro di Windows, che secondo me meno si tocca e meglio è, vai a scrivere i parametri in un file xml tipo app.config e leggi e scrivi in quello usando la classe ConfigurationManager
Modificato da fileman il 15 marzo 2013 17.59 -

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
38 messaggi dal 25 gennaio 2007
Potrebbe essere una soluzione, ma allora dovrei usare una nuova stirnga di connesione DSN-Less. Giusto?
Esatto

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.