2013-04-02 76 views
0

想要連接到App_Data文件夾中的.mdb文件。oledb無法連接

連接字符串:

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

接收錯誤:

Not a valid file name. 

當適配器試圖填充數據集。

試過預期的預期,反斜槓,波浪線,你的名字。似乎沒有任何工作。

請幫忙,謝謝。

+1

好吧,我恐怕'Jackery Xu'你需要展示更多的代碼..你的連接字符串看起來有點不對 – MethodMan

+0

http://www.connectionstrings.com/access反斜槓怎麼樣? – adt

回答

0

我認爲你應該使用|DataDirectory|而不是|App_Data|。後面有一個反斜槓。

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" 
     ) 
); 

@使您能夠使用像\字符未經backslashing這些。輸入文件路徑時,我總是使用@。儘管我可以想象在代碼中硬編碼文件路徑可能不是實現它的最佳方式,但也可以嘗試使用它(What is app.config for?)。

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)解析爲環境變量%APPDATA%的值。

另外請注意,這個解決方案是accdb文件,如果你想用這個mdb您需要更改ProviderMicrosoft.JET.OLEDB.4.0

我希望這個答案能幫助別人。