Per ragioni funzionali ho dovuto trasformare un'applicazione console scritta in C# con Framework 1.1, in una COM...
Questa applicazione è un parser che viene chiamato da un CGI e deve effettuare una connessione al DB con ADO.NET e caricare i dati in un dataset.
Quando era un'applicazione console, faceva correttamente la connessione al DB; quando è diventata una COM, non fa più la connessione e va in eccezione con questo messaggo:
The type initializer for 'System.Transactions.Diagnostics.DiagnosticTrace' threw an exception.
Questo è il codice che utilizzo:
Ho già controllato che le stringhe di connessione sono create correttamente.codice:public static DataSet objData { get { return OIdata.getDataSet; } set { if (!getQueryObj().Equals("NOQUERY")) { OleDbDataAdapter ad= new OleDbDataAdapter(getQueryObj(),new OleDbConnection(Utilities.Database.GetConnection(InstanceID))); System.Data.DataSet objDataEX= new System.Data.DataSet(); try { ad.Fill(objDataEX); } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.InnerException); } OIdata= new IData(objDataEX); OIdata.CurrentInstance=InstanceID; _objData=objDataEX; } else { _objData= null; } } }
La COM gira con identità di amministratore locale della macchina.
L'applicazione va in eccezione in questo statement:
ad.Fill(objDataEX);
Qualcuno ha qualche suggerimento?
Perchè prima quando era una console application faceva sempre correttamente la connessione?

Rispondi quotando