第一次访问数据库连接失败

时间:2013-02-17 12:16:05

标签: c# .net winforms ms-access

我有一个在.Net Framework 3.5上运行的C#2010 WinForms应用程序。此应用程序启动时连接到Access 2007 accdb数据库,该数据库与可执行文件位于同一文件夹中。以下是用于连接的代码:

    public static OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=LineWatchManager.accdb;Persist Security Info=True;Jet OLEDB:Database Password=<password here>");
    public static void CreateConnection()
    {
        con.Open();
    }

我遇到的问题是,在客户端的计算机(Windows 7)上,第一次启动计算机后启动该程序,与数据库的连接始终失败。之后,它连接没有任何问题。

我试图让程序在启动时尝试连接3次到数据库,但这没有用,即使尝试之间有500毫秒。我的计算机(Windows 7或8)没有此问题。

经过大量的调试尝试和在线花了很多时间,我找到的唯一相关文章是this。可悲的是没有解决方案,但是因为有人没有使用Access,我猜它是.Net的错或C#的错。任何帮助将不胜感激!

编辑:客户端未运行完整版Access,但this runtime

2 个答案:

答案 0 :(得分:2)

试试这个connectionString,请注意|DataDirectory|这将是您应用的默认路径。

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|/LineWatchManager.accdb;Persist Security Info=True;Jet OLEDB:Database Password=<password here>

答案 1 :(得分:1)

使用它来创建连接:

public static OleDbConnection con = new OleDbConnection(“Provider = Microsoft.Jet.OLEDB.4.0; Data Source = | DataDirectory | ...”);

相关问题