我需要幫助解決此錯誤。
這是我使用Access數據庫和構建配置平臺的錯誤{"The type initializer for 'System.Transactions.Diagnostics.DiagnosticTrace' threw an exception."}
'System.Transactions.Diagnostics.DiagnosticTrace'的類型初始值設定項引發異常
是任何CPU。
有時代碼運行良好,有時突然拋出此異常。這裏有很多類似的問題,但沒有一個解決我的錯誤。
這是我的連接字符串
DbPath = @"d:\Ek.mdb";
ConnectionString [email protected]"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+DbPath+";User Id=admin;Password=;";
這是我的函數打開連接
我收到錯誤的Con.Open()
public bool OpenConnection()
{
if (Con == null)
{
Con = new OleDbConnection(ConnectionString);
}
else if ((Con.State == ConnectionState.Broken || Con.State == ConnectionState.Closed) && (Con.State!=ConnectionState.Open))
{
Con.Open();
Tx = Con.BeginTransaction(IsolationLevel.ReadCommitted);
return true;
}
else if (IsConnectionBusy())
{
throw new DataException("Connection Busy");
}
return false;
}
這我怎麼關閉運行後連接查詢
public Boolean CloseConnection()
{
if(IsConnectionBusy())
throw new DataException("Connection Busy");
if (Con.State==ConnectionState.Open)
{
Tx.Commit();
Con.Close();
return true;
}
return false;
}
public bool IsConnectionBusy()
{
switch (Con.State)
{
case ConnectionState.Connecting:
case ConnectionState.Executing:
case ConnectionState.Fetching:
return true;
}
return false;
}
我找不到爲什麼它有時會完美運行,然後有時會拋出此異常。
任何幫助將不勝感激。我爲解決這個錯誤嘗試了太多,但不能。
我注意到了這一點。
else if ((Con.State == ConnectionState.Broken || Con.State == ConnectionState.Closed) && (Con.State!=ConnectionState.Open))
的連接是closed state
。在執行Con.Open()
語句時,Connection
狀態更改爲Open
,並在此之後引發此錯誤。
同樣在調試時不會引起錯誤。只有當我沒有在該地點放置breakpoint
時纔會造成這種情況。
在Con.Open()
當我把一個斷點,並在那裏停了幾秒鐘,只有第一次然後沒有錯誤拋出。之後,如果我禁用了斷點並且沒有錯誤發生...... !!!
其中MS辦公室/ Access版本您使用的? – Rezoan
我正在使用2007年,我創建了數據庫2000-2003兼容 – coding
此外,我沒有得到錯誤,如果我把一個斷點。只有在沒有斷點時纔會引起錯誤,並且錯誤不會始終引起。 – coding