使用 ms-Access 的密码无效异常 C#

Not valid password Exception C# using ms-Access

我编写了一个调度程序,可以从 Microsoft 2013 Access 数据库中获取作业和需要 运行 的作业详细信息并执行它们。

我的问题是,每隔 运行 一个连接到数据库的函数就会抛出异常 "Not a Valid Password",奇怪的是每次都会从不同的函数抛出异常,而大多数时候这些函数都能完美运行。我真的很想知道是什么导致了这些异常。

string SCHEDULER_ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\" + ConfigurationManager.AppSettings["SCHEDULER_DB_Path"] + ";Jet OLEDB:Database Password=someP@ssword";

public DataResponse getActiveJobsRecurrence(string Job)
    {
        String query;
        DataResponse DR = new DataResponse();
        query = " Select Job_name,to_date,from_Date,recurrence,MODIFY_BY_USER from JOB where Job_name='" + Job + "' ";
        DR.DataTable = new DataTable();
        try
        {
            using (OleDbConnection myConn = new OleDbConnection(SCHEDULER_ConnectionString))
            {
                using (OleDbCommand cmd = new OleDbCommand(query, myConn))
                {
                    myConn.Open();
                    OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
                    adapter.Fill(DR.DataTable);
                    myConn.Close();

                    return DR;
                }
            }
        }

        catch (Exception ex)
        {
            string owner = "none";
            string function = "getActiveJobsRecurrence()";
            string mes = ex.Message;
            string message;
            message = TruncateLongString(mes);
            writeInDatalog(message, owner, Job, function);
            DR.Message = ex.Message;
            DR.Successful = false;
            DR.DataTable = null;
            return DR;
        }
    }// find recurrence of the actives jobs

这是抛出此异常的函数之一的示例

关于加密方法: 首先,删除密码,然后进入访问->文件->选项->客户端设置->高级,勾选“使用旧版加密”。修复了所有问题。