1

使用 OleDb 我正在连接到 MS Access (v2003) 数据库,我的项目文件夹是MyHotApps,我的 OleDb 连接字符串是

MyConString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Users\Some User\Documents\Visual Studio 2010\WebSites\MyHotApps\Database\MyDbFile.mdb'";

如上所述,我的项目文件夹是MyHotApps,数据库文件MyDbFile.mdb位于Project_Folder<MyHotApps>\Database\MyDbFile.mdb

因此,对于我来说,数据库文件位于项目文件夹内,它太本地化了,我需要一个便携式连接字符串,无论我在哪里获取项目文件夹,我都不应该重写连接字符串,因为我尝试了以下不起作用的方式

MyConString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source'=~Database\MyDbFile.mdb'";

任何人都可以帮助我如何构建一个便携式连接字符串我读了一些表格说数据库文件应该放在 App_Data 文件中,我也不知道该怎么做。任何人请告诉我以某种方式构建便携式连接字符串。

4

2 回答 2

1

你熟悉OldDbConnectionStringBuilder吗?将它与相关类一起使用,例如SqlConnectionStringBuilder允许您使用简单的构造函数和属性来构建您需要的东西。此外,System.IO.Path 类对于构建目录路径很方便。通常,当我需要一个默认项目目录(在 WPF 应用程序中)时,我使用 AppDomain.CurrentDomain.BaseDirectory. 然后我使用 Path.Combine(base, filename) 为文件创建一个完整的字符串。

System.IO.Directory而且System.IO.DirectoryInfo也是有用的。

于 2012-02-24T06:53:41.677 回答
1

你可以利用HttpRequest.PhysicalApplicationPath

并执行以下操作可能会轻松解决您的可移动路径问题...

Request.PhysicalApplicationPath
于 2012-02-24T06:14:51.007 回答