作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试通过 C# 连接到数据库,但是当我这样做时收到一条非常无用的错误消息:
“08:44:17:错误:无法初始化 OLE08:44:17:错误:无法初始化 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() 行上调用错误(我知道这一点是因为我注释掉了其他行)。
任何帮助/建议将不胜感激:)。
编辑:我测试了我与数据库的连接并检查了所有内容,我只是不明白为什么我无法通过代码连接。
最佳答案
对于可能正在寻找的任何人,我最终通过在 Main() 方法之前添加 [STAThread()] 解决了这个问题。 :)
关于c# - 当我尝试连接到数据库时收到 "Error: Cannot initialize OLE"? C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10561405/
我是一名优秀的程序员,十分优秀!