0

想要连接到 App_Data 文件夹中的 .mdb 文件。

连接字符串:

"Provider=Microsoft.JET.OLEDB.4.0;data source=|App_Data|\\abcd.mdb"

接收错误:

Not a valid file name.

当适配器尝试填充数据集时。

尝试过前斜杠、反斜杠、波浪线,应有尽有。似乎没有任何效果。

请帮忙,谢谢。

4

2 回答 2

1

我知道这有点太晚了,但是我遇到了与您在这里提出的问题相同的问题,这对我有用:

string con = String.Format(
        "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Persist Security Info=True;", 
         String.Format(
                @"{0}\{1}",
                Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
                "abcd.accdb"
         )
);

@使您可以使用类似的字符而\无需使用反斜杠。我总是@在输入文件路径时使用。虽然我可以想象在你的代码中硬编码文件路径可能不是最好的方法,但试试这个(什么是 app.config?)。

该行Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)解析为环境变量的值%APPDATA%

另请注意,此解决方案适用于accdb文件,如果您想使用此解决方案,mdb您需要ProviderMicrosoft.JET.OLEDB.4.0.

我希望这个答案对某人有所帮助。

于 2015-02-25T12:03:57.810 回答
0

我认为你应该使用它|DataDirectory|,而不是|App_Data|。后面是一个反斜杠。

于 2013-04-02T19:34:24.817 回答