我試圖連接到通過C#的數據庫,但我發現了一個非常無益的錯誤消息,當我這樣做:當我嘗試連接到數據庫時,出現「錯誤:無法初始化OLE」? C#
08:44:17: Error: Cannot initialize OLE 08:44:17: Error: Cannot initialize OLE
我試圖尋找一個解決方案,但我不成功。我也嘗試重新啓動我的電腦,這也沒有幫助。
我運行SQL Server 2008,並且這裏是有關數據庫代碼:
/// <summary>
/// Connects to a given database and returns the database connection.
/// </summary>
/// <param name="file">The database file name.</param>
/// <returns>The database connection.</returns>
public static SqlConnection ConnectToDb(string file)
{
//initialize generic path
string path = System.Reflection.Assembly.GetExecutingAssembly().Location;
path = path.Replace("bin\\Debug\\MediaPlayer.exe", "");
path += "Database.mdf";
string connectionPath = @"Data Source=.\SQLEXPRESS;AttachDbFilename=" + path + ";Integrated Security=True;User Instance=True";
SqlConnection connection = new SqlConnection(connectionPath);
return connection;
}
/// <summary>
/// Executes a SQL query in a given database.
/// </summary>
/// <param name="file">The database file name.</param>
/// <param name="query">The SQL query to execute.</param>
public static void ExecuteQuery(string file, string query)
{
SqlConnection connection = ConnectToDb(file);
connection.Open();
SqlCommand command = new SqlCommand(query, connection);
command.ExecuteNonQuery();
connection.Close();
}
這是我用了幾個項目數據庫代碼,它一直工作過。
在ExecuteQuery方法中的connection.Open()行上調用錯誤(我知道這是因爲我註釋了其他行)。
任何幫助/建議將不勝感激:)。
如果您在64位操作系統上運行,請確保您將'x86'作爲您的平臺。 – LarsTech
在項目的Properties頁面的Build面板下,我選擇Active(x86)作爲平臺,如果這就是你的意思:)。 – Daniel
有人嗎? :(浪費了一整天在這個bug,沒有成功.. – Daniel