C#Application和Access数据库适用于某些计算机

时间:2013-12-06 19:04:48

标签: c# database ms-access-2010

我制作了一个使用访问数据库的程序。它在我自己的计算机上运行良好。 然后它无法在另一个comp上工作,因为它无法找到数据库文件。 所以我更改了App.config文件路径和Settings.Designer.cs(如果这些是正确的编辑行,我不会这样做但是通过这些更改,程序可以在一台计算机上运行)。然后应用程序开始工作。

接下来,我在第三台计算机上测试了该程序。 但该程序无法正常工作,因为它找不到数据库文件。

我已将数据库文件路径从上面的2个配置文件更改为C:\ Temp \作为测试目的,并且所有计算机都在该文件夹中包含数据库文件。

正在运行的计算机具有Windows 7,而数据库无法运行的计算机正在运行Windows 8。

导致这种行为的原因是什么?谢谢!如果我提出错误的文件路径,请告诉我。理想的解决方案是,如果我将程序移动到另一台计算机,它将从程序文件夹中搜索数据库。

其他信息:

这是来自Settings.Designer.cs的已编辑行,我只编辑了“C:\ Temp \”:

[global::System.Configuration.DefaultSettingValueAttribute("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\"C:\\Temp\\database.accdb\"")]
    public string HRSConnectionString1 {
        get {
            return ((string)(this["HRSConnectionString1"]));
        }

还有一行自动生成:

     [global::System.Configuration.DefaultSettingValueAttribute("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\database.accdb;OLE DB Se" +
        "rvices=-13")]
    public string HRSConnectionString {
        get {
            return ((string)(this["HRSConnectionString"]));
        }

这些是来自App.config的行:

    <connectionStrings>
    <add name="HRS.Properties.Settings.HRSConnectionString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\database.accdb;OLE DB Services=-13"
        providerName="System.Data.OleDb" />
    <add name="HRS.Properties.Settings.HRSConnectionString1" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=&quot;C:\Temp\database.accdb&quot;"
        providerName="System.Data.OleDb" />
    </connectionStrings>

1 个答案:

答案 0 :(得分:0)

你可以试试数据源(ODBC)吗?开始 - &gt;管理工具 - &gt;数据源(ODBC)

help link

enter image description here