私は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
プロジェクトの[プロパティ]ページの[ビルド]パネルの下に、Active(x86)がプラットフォームとして選択されています。 – Daniel
誰でも? :(このバグで一日無駄になりました。) – Daniel