C# OleDBConnection to Access 2010 - Error: Not a valid filename

C# OleDBConnection to Access 2010 - Error: Not a valid filename

感谢您抽出时间阅读!!!!对不起,我是一个完整的新手....

所以,我拼命尝试通过 VPN 连接到另一台计算机上的数据库。当我更改代码以指向本地文件时,没有问题,但是当我尝试联网 pc 时,我得到 An "unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll", "Additional information: Not a valid file name."

这是代码,任何想法都将不胜感激!!!! :)

private void btn_Load_Click(object sender, EventArgs e)
{
    File.Copy("\\User2-pc\c\RetailM\That's Hot\recent.mdb", "\\User2-pc\c\PHIL_REPORT_PROGRAM\That's Hot\recent_copy.mdb", true);

    btn_Load.Text = ("Loaded");
    progressBar1.Value = (100);
}

private void btnReadAccess_Click(object sender, EventArgs e)
{
    OleDbConnection conAccess = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\User2-pc\c\PHIL_REPORT_PROGRAM\That's Hot\recent_copy.mdb;Persist Security Info=False;");

    string[] strArrays = this.datePickerFrom.Text.Split(new char[] { '/' });
    string[] strArrays1 = this.datePickerTo.Text.Split(new char[] { '/' });
    string[] text = new string[] { "SELECT Barcode,[description],cat1 ,cat2,discount as [Discount],cost_inc as [Price $],DocketLine.quantity as Sold, (rrp * DocketLine.quantity - discount ) as [Rev $], DocketLine.sales_tax as Goods_Tax FROM Docket,DocketLine,Stock WHERE Docket.docket_date >= #", strArrays[1], "/", strArrays[0], "/", strArrays[2], " ", this.timePickerFrom.Text, "# AND Docket.docket_date <= #", strArrays1[1], "/", strArrays1[0], "/", strArrays1[2], " ", this.timePickerTo.Text, "#  and DocketLine.docket_id = Docket.docket_id  and  DocketLine.stock_id= Stock.stock_id" };
    string str = string.Concat(text);
    OleDbDataAdapter daAccess = new OleDbDataAdapter(new OleDbCommand(str, conAccess));
    DataTable dataTable1 = new DataTable();
    daAccess.Fill(dataTable1);
    dgvAccess.DataSource = dataTable1;

    decimal num = new decimal(0);
    for (int i = 0; i < this.dgvAccess.Rows.Count; i++)
    {
        num = num + Convert.ToDecimal(this.dgvAccess.Rows[i].Cells[7].Value);
    }
}

非常感谢您的宝贵时间

尝试用引号括起路径:

"\"\\User2-pc\c\RetailM\That's Hot\recent.mdb\"";

或使用简单的文件夹名称,例如 Hot.