85 messaggi dal 26 gennaio 2007
Salve a tutti,ho un problema che credo però nin sia di programmazione.
Hoi sviluppato un applicazione desktop che interroga un db access e visualizza i dati. Per necessita però il db access non deve essere un file interno all'applicazione e quindi ho previsto una OpenFileDialog dalla quale si può risalire al file .mdb che può essere salvato dovunque. In debug funziona tutto benissimo (anche se il file db è su un'altra partizione o su un disco rimovibile), mentre installando l'applicazione dal file msi generato pare che non veda il db.
Dove può essere il probelma?
Grazie mille a tutti
se hai un applicazione desktop forse questo non è proprio il forum giusto.

comuque i motivi possono essere molteplici, percorsi errati, permessi ecc ecc

hai qualche informazione in più?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
85 messaggi dal 26 gennaio 2007
non credo sia errore di percorso perche in fase di debug funziona tutto alla grande. ho pensato pure io ai permessi,ma anche settando everyone al file non lo legge. Io la stringa di connessione la creo cosi:
string connessione = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False; Data Source="+pathCatal;
dove pathCatal è la stringa che mi restituisce openFileDIalog quindi una cosa tipo F:\\Documenti\etc.....
però ripeto dal debug funziona tutto!!
aiutatemi,grazie
194 messaggi dal 13 dicembre 2005
Riesci a postare l'errore??? e il punto in cui te lo da???
85 messaggi dal 26 gennaio 2007
ciao laura,mi sono fatto stampare l'eccezione (message - source - stak Trace) e il risultato è questo :
L'inizializzatore di tipo 'System.Transactions.Diagnostic.DiagnosticTrace' ha generato un'eccezione - System.Transaction - in System.Transaction-Transaction.get_Current()
in System.Data.Common.ADPI.IsSysTxEqualsEsTransaction()
in System.Data.Common.ADPI.NeedManualEniistment()
in System.Data.OleDb.OleDbConnectiopn.Open()
ricercaDesktop.Form1.caricaCataloghi()
Grazie
501 messaggi dal 09 giugno 2006
Contributi
Ciao,
sarebbe opportuno che tu postassi un po' di codice (ricercaDesktop.Form1.caricaCataloghi()) in particolare la parte dove viene aperta la connessione.

Inoltre: parli di MSI. Quale strumento hai utilizzato per creare il setup? Usi forse ClickOnce?

Ciao.

.:. Marcello Rutter .:.
85 messaggi dal 26 gennaio 2007
ciao rispondo in ordine alle domande.
Il codice è questo :

string pathCatal = pathCataloghi.Text;
-- dove pathCataloghi è una label ,il cui testo viene settato quando si sceglie il db, con openFileDialog1.FileName;

string connessione = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False; Data Source="+pathCatal;
try {
string SQL = "SELECT * from cataloghi";
conn.Open();
comm = new OleDbCommand(SQL, conn);

....

il file msi lo genero sempre con visual studio creando un progetto di "Installazione e distribuzione"

Ripeto ancora una volta che tramite debug funziona tutto perfettamente

Grazie a tutti
501 messaggi dal 09 giugno 2006
Contributi
Ciao.
Cerco di andare per passi perché secondo me il problema che ricevi è secondario ossia è generato da una circostanza del tutto estranea all'apertura del database.

In particolare il problema sembra essere legato al fatto che da qualche parte hai lasciato attivo il sistema di tracing (System.Transactions.Diagnostic.DiagnosticTrace) che molto probabilmente in modalità DEBUG funziona mentre in produzione (o comunque con la compilazione in modalità Release) crea l'eccezione segnalata (che appunto si innesca nel momento in cui il sistema di tracing viene inizializzato).

A questo punto, pertanto, dovresti controllare il file di configurazione dell'applicazione (App.Config) per evidenziare se hai attivato qualcosa inerente il tracing/la diagnostica. Eventualmente prova anche a rimuovere tali file (previo backup, mi raccomando) e a ricompilare il tuo progetto o, in alternativa, prova a rinominare provvisoriamente il file MioProgramma.exe.config nel computer dove si verificare il problema.

Infine puoi anche provare a disattivare il tracing modificando le proprietà del progetto (Proprietà Progetto, Compile, Advanced Compile Options, define TRACE constant). E' solo una prova perché in teoria la costante TRACE è sempre definita sia in debug che in release.

Fammi sapere se qualcosa cambia.

Ciao.
Modificato da mrdev il 10 novembre 2007 18.13 -

.:. Marcello Rutter .:.

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.