想要连接到 App_Data 文件夹中的 .mdb 文件。
连接字符串:
"Provider=Microsoft.JET.OLEDB.4.0;data source=|App_Data|\\abcd.mdb"
接收错误:
Not a valid file name.
当适配器尝试填充数据集时。
尝试过前斜杠、反斜杠、波浪线,应有尽有。似乎没有任何效果。
请帮忙,谢谢。
我知道这有点太晚了,但是我遇到了与您在这里提出的问题相同的问题,这对我有用:
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
您需要Provider
将Microsoft.JET.OLEDB.4.0
.
我希望这个答案对某人有所帮助。
我认为你应该使用它|DataDirectory|
,而不是|App_Data|
。后面是一个反斜杠。