VB.NET Express: Come poter variare una connection string da un program...

sabato 03 aprile 2010 - 11.31

86Marco Profilo | Expert

Ciao a tutti
ho creato un programma in Vb.NET Express edition interfacciato con un database access, e sul codice ho impostato una connectionstring per l'accesso al database stesso.
Tutto funziona alla perfezione e ho creato il setup per poterlo installare sui pc del cliente.

Per un problema strettamente tecnico adesso il database deve essere spostato dal percorso dove sino ad ora è stato e di conseguenza il software non riesce + a pescare il file mbd!!

Come posso fare per aggiornare l'applicazione in modo tale che qualora dovesse ricapitare lo stesso inconveniente possa direttamente dal programma cambiare la connection string senza dover variare il codice e quindi ricompilare tutto il progetto??
Sapete aiutarmi??

Grazie mille.

kataklisma Profilo | Senior Member

Ciao!

Beh, bisogna semplicemente impostare la connectionstring dinamicamente, prendendola ad esempio, da un file xml o creando un piccolo setup per l'accesso al db.
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

freeteo Profilo | Guru

Ciao,
potresti anche usare la proprietà Settings dell'applicativo, salvando la stringa di connessione li dentro, e poi tramite codice (e quindi facendo ad esempio una maschera di amministrazione) andare a settarlo.

Ti lascio qualche link dove prendere spunto:
http://www.codeproject.com/KB/vb/appsettings2005.aspx
http://msdn.microsoft.com/en-us/library/a65txexh(VS.80).aspx


Se invece vuoi proprio avere la connectionstring che sia sotto all'insieme ConfigurationManager.ConnectionStrings allora puoi modificare l'app.config da codice usando le classi del namespace "System.Configuration" del framework, che ti permettono di fare le operazioni sui file config in maniera agile.
Il codice è qualcosa tipo:
Dim config As Configuration = ConfigurationManager.OpenExeConfiguration("...pathExe...") Dim cn As ConnectionStringSettings = New ConnectionStringSettings("...nome...", "....connectionstring....", "System.Data.SqlClient") config.ConnectionStrings.ConnectionStrings.Clear config.ConnectionStrings.ConnectionStrings.Add(cn) ConfigurationManager.RefreshSection("connectionStrings") config.Save

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5