Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#应用程序和Access数据库在某些计算机上工作_C#_Database_Ms Access 2010 - Fatal编程技术网

C#应用程序和Access数据库在某些计算机上工作

C#应用程序和Access数据库在某些计算机上工作,c#,database,ms-access-2010,C#,Database,Ms Access 2010,我制作了一个使用access数据库的程序。它在我自己的电脑上运行良好。 然后它在另一个comp上不工作,因为它找不到数据库文件。 因此,我更改了App.config文件路径和Settings.Designer.cs(我不知道这些是否是要编辑的正确行,但通过这些更改,程序可以在一台计算机上运行)。然后应用程序开始工作 接下来,我在第三台计算机上测试了这个程序。 但是程序没有工作,因为它没有找到数据库文件 出于测试目的,我已将数据库文件路径从上面的2个配置文件更改为C:\Temp\并且所有计算机都在

我制作了一个使用access数据库的程序。它在我自己的电脑上运行良好。 然后它在另一个comp上不工作,因为它找不到数据库文件。 因此,我更改了App.config文件路径和Settings.Designer.cs(我不知道这些是否是要编辑的正确行,但通过这些更改,程序可以在一台计算机上运行)。然后应用程序开始工作

接下来,我在第三台计算机上测试了这个程序。 但是程序没有工作,因为它没有找到数据库文件

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

正常工作的计算机有Windows 7,而数据库不工作的计算机运行的是Windows 8

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

其他信息:

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

还有一行是自动生成的:

     [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>

您可以尝试使用数据源(ODBC)吗?开始->管理工具->数据源(ODBC)


您是否可以添加更多详细信息,比如显示一些要查看的配置文件行?非工作计算机的管理工具中有32位和64位数据源。两个数据源中都有访问驱动程序和用户数据源。环境是64位的。在我的计算机上(Win7 64位),程序工作的地方只有一个从管理工具开始的数据源,用户数据源中有MS Access数据库,但驱动程序选项卡中没有MS Access驱动程序。在VisualStudio2012中,我还尝试更改程序属性中的一些连接字符串,并修改了连接,但仍然不起作用。。。
    <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>