2011-12-04 182 views
1

我希望能夠在我的ASP.NET項目中使用數據庫Foo.accdb。 連接到它的最佳方式是什麼?我想確保項目可以移植到另一臺計算機上,並且仍然可以工作,所以我應該將數據庫文件放在項目文件夾(Default.aspx所在的同一文件夾)中?使用ASP.NET連接到Access數據庫

我是否需要以某種方式將數據庫導入Visual Studio?

我只是想能夠使用OleDb系列的類來操縱數據。如果這就是你所要做的,那麼Web.config中的路徑是否與Web.config相關?

所以我的連接字符串會是這樣:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Foo.accdb;User Id=admin;Password=;

+0

看看http://forums.asp.net/t/1352561.aspx/1?Connect+Access+2007+database+from+ASP+net+aspx+ –

回答

2

一般來說,人們使用App_Data文件夾此。

一整個例子是在這裏:http://msdn.microsoft.com/en-us/library/445z2s49(v=vs.80).aspx

結構中有它的好處是,你可以一次移動網站和數據。但是,如果網站遭到入侵,數據庫可能也可用(儘管默認情況下應用程序將被配置爲不提供來自此文件夾的任何文件)。這就是爲什麼許多人選擇將其存儲在網站外的文件夾中。

另請注意,Access並非真正的多用戶數據庫,因此如果您打算多個用戶同時訪問數據庫,則可能會遇到問題。

此外,您可以使用絕對路徑或相對路徑來定位連接字符串中的訪問mdb。看看MSDN鏈接中添加數據源步驟的代碼。

+0

我把它添加到App_Data文件夾中,但是我在連接字符串中使用了什麼?我有'Dim conn as OleDbConnection = new OleDbConnection(?????)'。我將連接字符串添加到我的Web.config中,但是當我嘗試將它傳遞給OleDbConnection構造函數時,Intellisense並沒有捕獲它。 –

+0

你是如何定義連接字符串的?通過web.config中的ApplicationSettings或ConnectionStrings?您的連接字符串如下所示:「Provider = Microsoft.ACE.OLEDB.12.0; Data Source = | DataDirectory | \ Foo.accdb; Persist Security Info = False;」如果你把它放在名爲「Foo」的連接字符串中,那麼你可以通過System.Configuration.ConfigurationManager.ConnectionStrings [「Foo」]得到它。ConnectionString – dash

+0

是的,我用'ConfigurationManager.ConnectionStrings(「Foo」).ConnectionString '它工作。這正是我所尋找的,謝謝。 –

相關問題