Stringa connessione

lunedì 29 marzo 2010 - 14.28

gfucka Profilo | Newbie

Ciao a tutti sono nuovissimo,
ho realizzatro un applicazione che si connette ad un db access.
Ho utilizzato la procedura guidata per la connessione al database scegliendo il database nella cartella in cui si trovava (C:\)
Adesso devo realizzare il pachhetto di installazione e vorrei cambiare la stringa di connessione al database in quanto questo vorrei inserirlo nella cartella del programma. Dovrei quindi cambiare la stringa di connessione del dataset!?
Come posso fare?
Aspetto risposte
Ciao e Grazie mille!

AntCiar Profilo | Expert

Ciao.

L'operazione non devi farla nell'installazione. All'interno del programma ad ogni avvio imposti la connessione.
Vedi nel designer dove hai creato la connessione la stringa che ti porta. Nel costruttore dell'oggetto al posto del percorso statico ci inserisci:

Application.StartUpPath + "\\nomefile.mdb"


Cristian Barca

gfucka Profilo | Newbie


Ciao e Grazie per la tempestività nella risposta, non capisco però dove devo inserire la stringa, se cerco di modificare la stringa di connessione del dataset non me lo permette!

AntCiar Profilo | Expert

Ciao.

Nella form dove hai creato la connessione, vai nel codice e sull'evento FormLoad oppure nel costruttore, accedi all'oggetto connessione e reimposta tutta la connessione:

this.OleDBConnection1.Close();
this.OleDBConnection1.ConnectionString = ".......................................................................................";
Cristian Barca

gfucka Profilo | Newbie

Ciao, il problema è che ho fatto la procedura guidata "aggiungi nuova origine dati" e poi ho preso i campi della tabella del database e li ho trasportati sul form (col Drag & Drop) e lui mi ha creato tutto ( il datased, il databinding ecc....) quindi non ho da nessuna parte una oledbconnection!
Come faccio? Spero che ci sia un modo dato che ho creato tutta l'applicazione ed è completa non vorrei rifare tutto!

Ciao e Grazie ancora.

AntCiar Profilo | Expert

Anche se li crei con autocomposizione gli oggetti ci sono sempre. IL nome ovviamente non posso dirtelo io perchè non so che nome ci ha dato visualstudio. Se vai nel file di Designer della form troverai sia la connessione, sia il tableAdapter, sia il dataset. Vedi il nome che ha dato alla connessione e ci cambi i parametri come detto.
Cristian Barca

gfucka Profilo | Newbie

Ok sono andato nel designer ma trovo dataset, tableadapter, tablemanager, bindingsource e binding navigator, ma un oledbconnection non cè?

Grazie

AntCiar Profilo | Expert

prova a vedere nell'oggetto tableAdapter oppure TableManager. Dovresti trovare li l'oggetto .Connection
Cristian Barca

gfucka Profilo | Newbie

Ok , ho capito che posso andare a modificare la stringa di connessione nel file app.config che è un xml.
adesso cè
<add name="WindowsApplication1.My.MySettings.Cartelle_PazientiConnectionString1"
connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Documenti\Cartelle_Pazienti.accdb"
providerName="System.Data.OleDb" />
</connectionStrings>
come faccio ad indicare il percorso della cartella corrente al posto di D:\Documenti\... ????
Ciao

AntCiar Profilo | Expert

Ciao. Ti ho mandato un piccolo programma di esempio che utilizza una connessione dinamica alla cartella di avvio dell'applicazione.

Ciao
Cristian Barca

gfucka Profilo | Newbie

Ciao e Grazie mille per l'esempio.
Quindi |DataDirectory| nel stringa di connessione dell'app.config cosa indica? La cartella in cui cè l'eseguibile?
E una volta compilato ed installato su un'altro computer basta mettere nella cartella in cui cè l'eseguiguibili il file .mdb?


AntCiar Profilo | Expert

Ciao.

In teoria dovrebbe essere così. Io però preferisco reinizializzare la connessione specificandogli il percorso del file anche perchè spesso nelle mie applicazioni l'utente può scegliere di connettersi a più database dislocati tra PC sulla rete.
Cristian Barca

gfucka Profilo | Newbie

Ok Grazie davvero tanto per l'aiuto che mi hai dato!!!
Volevo chiederti solo un'ultima cosa, sai indicarmi un software che mi permette di creare un pacchetto di installazazione che oltre ad includermi i file neccessari per l'eseguibile che ho creato (a proposito sono tutti quelli presenti nella cartella mio progetto\bin\debug ???) mi includa anche altri file o cartelle (tipo il database.mdb) specificando anche il percorso in cui queste devono essere inserite sul computer installante e mi verifichi la presenza di requisiti tipo net.framework e altri software necessari per poter eseguire l'installazione e se questi non ci sono provvede as installarli??

AntCiar Profilo | Expert

Ciao.

Puoi usare l'installer di VisualStudio. Basta aggiungere alla tua soluzione un progetto di tipo Installazione e Distribuzione e selezionare Output principale da 'Nome del tuo progetto'

Poi ci puoi aggiungere tutti i file aggiuntivi che vuoi.
Per quanto riguarda i file Dll che stanno in bin\debug, questi vengono automaticamente inseriti perchè fanno parte dell' "Output principale".

Nella sezione FileSystem puoi anche definire cartelle di installazione, shortcut icon etc....

Puoi anche definire delle condizioni di avvio affinchè il pacchetto di installazione verifichi la presenza o meno dei alcuni programmi.

Una cosa importante: se usi l'installer di VisualStudio, questo per funzionare sulla macchina su cui installi deve essere presente il framework (2.0 o 3.0 a seconda con quale sviluppi). Nel caso in cui manca, ti si apre in automatico una form con la quale si collega via Internet al sito Microsoft per scaricare il Framework. Non sono ancora riuscito a configurare questa procedura affichè non si colleghi ad internet ma utilizzi il framework che metto in una cartella su CD.

Poi per maggiori informazioni puoi vedere altri thread scritti in questo forum sull'argomento.

ciao ciao
Cristian Barca

gfucka Profilo | Newbie

Ciao, volevo ringrazianrti per il grande aiuto che mi hai dato!
Davvero Grazie!

AntCiar Profilo | Expert

.... di niete. Quando si può aiutare si aiuta senza problemi. Volevo solo ricordati di chiudere il thread accettando una delle risposte per correttezza delle politiche del forum.

Ciao ciao
Cristian Barca
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5