想要连接到App_Data文件夹中的.mdb文件。
连接字符串:
"Provider=Microsoft.JET.OLEDB.4.0;data source=|App_Data|\\abcd.mdb"
收到错误:
Not a valid file name.
当适配器尝试填充数据集时。
尝试过反斜杠,反斜杠,波浪线,你说出来。似乎没什么用。
请帮助,谢谢。
答案 0 :(得分: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"
)
);
使用@
可以使用\
之类的字符而无需反斜杠。输入文件路径时,我总是使用@
。虽然我可以想象代码中的硬编码文件路径可能不是最好的方法,但请尝试这样做(What is app.config for?)。
行Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
解析为环境变量%APPDATA%
的值。
另请注意,此解决方案适用于accdb
个文件,如果您要将其用于mdb
,则需要将Provider
更改为Microsoft.JET.OLEDB.4.0
。
我希望这个答案有助于某人。
答案 1 :(得分:0)
我认为您应该使用|DataDirectory|
,而不是|App_Data|
。它之后只有一个反斜杠。