none
C#连接Access 文件名非法 RRS feed

  • 问题

  • 我有一个程序用C#连接Access数据库,在Vistual Studio中运行一切正常。然后我制作了一个安装程序,将他安装到我的电脑后再运行就发生 Not a valid file name 异常。 项目是基于x86的,我的电脑是64位的。有人知道这是为什么吗?
    2018年7月20日 9:23

全部回复

  • string connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};", validFileName);

    上面是连接字符串
    2018年7月20日 9:24
  • 需要将.NET 程序的编译目标设为x86

    validFileName的值是多少,您需要将它打印出来看这个值是否是空值,或是指向不存在的数据库文件。

    Jet 驱动早已经不在支持或推荐,访问Access数据库推荐新的驱动

    2007 Office System Driver: Data Connectivity Components

    https://www.microsoft.com/en-us/download/details.aspx?id=23734


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2018年7月23日 0:36
  • 你好,

    你的validFileName 是不是一个绝对路径,在visual studio 中是可以的,换一台机器就没有这个路径,我建议你可以把这个放到config 文件中,然后可以通过改config 文件中连接字符串来消除错误。

    Best regards,

    Zhanglong


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年7月23日 2:13
    版主