access .mdb不是有效的文件名。

时间:2016-05-04 02:40:07

标签: c# ms-access ms-access-2010 database-connection connection-string

我的程序需要使用c#连接到旧的访问数据库.mdb。 我在部署程序时遇到了麻烦。

以下是该方案:

  • 所有计算机都使用访问数据库引擎x84bit和x64
  • 进行了测试
  • 所有机器都是64位操作系统所有sum.mdb都有相同的目录
  • 开发机器:没有错误 - 使用所有位类型的办公室测试
  • 客户端办公室64位的计算机:无错误
  • 客户端B机器办公室32位:无错误
  • 有办公室64位的客户端C计算机:错误:无效文件名
  • 具有办公室32位的客户端D计算机:错误:不是有效的文件名

这是C和D机器上的错误 enter image description here

我尝试使用.udl检测.mdb文件,但显示此错误

enter image description here enter image description here

这是我的连接字符串

accessProvider = "Microsoft.ACE.OLEDB.12.0";
accessDatasource =  file.ReadToEnd() + "\\" + "SUM.mdb" ;
accessPassword = "samplePassword";

accessString = @"Provider=" + accessProvider + "; " +
             "Data Source=" + accessDatasource + "; " +
             "Jet OLEDB:Database Password=" + accessPassword + ";";
            MessageBox.Show(accessString);

enter image description here

1 个答案:

答案 0 :(得分:0)

在我发布问题前一周,我搜索了我遇到的所有论坛和博客但没有成功。在我发布这个问题一个小时之后,答案就出现了。

我访问该目录的文件似乎在客户端计算机C和D上有一些隐藏的换行符([enter]或\ n或目录文本下面的另一行)。

我尝试显示连接但是消息框没有显示新行。 oleconnection似乎检测到新行并显示无效路径。