我制作了一个使用访问数据库的程序。它在我自己的计算机上运行良好。 然后它无法在另一个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="C:\Temp\database.accdb""
providerName="System.Data.OleDb" />
</connectionStrings>