使用 MS Access 数据库发布 asp.net

Posted

技术标签:

【中文标题】使用 MS Access 数据库发布 asp.net【英文标题】:publish asp.net with MS Access database 【发布时间】:2021-09-20 08:45:16 【问题描述】:

我创建了联系人跟踪 Web 应用程序,我如何使用 ms access 数据库部署我的 asp.net Web 应用程序,我会因为代码中的数据库路径目录而出错吗?比如“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Windows 10\Documents\Visual Studio 2012\Projects\ContactMvc\Weblogin.mdb”

提前谢谢你

【问题讨论】:

【参考方案1】:

好的,您首先需要确保该网站支持 Access 数据引擎。我的意思是,如果您使用 Oracle 构建一个 asp.net 网站,或者说 mysql 数据库,那么该网站必须具有 MySQL 数据库系统,或者 oracle 数据库系统,或者您可能使用 SQL 服务器。

接下来: 网站上文件夹的路径名将会改变。我们假设 accDB 数据库文件在某个文件夹中。

你的网站说可能是这样的:

所以在上面,您的数据库文件夹将在 app_data 中。

当您发布到网络服务器时,该文件夹可能会被放置在哪里,谁知道呢! - 但它只是一个标准的 windows 文件夹。

这表明您需要将上面的文件夹路径转换为有效的平面 jane windows 文件路径。

因此,在上面,文件夹路径可能会解析为:

c:\webpub\wwworoot\app_data\MyData.accDB

所以,你需要这样做:

strDataBasePath = Server.MapPath("~/app_data/Weblogin.mdb")

您还可以在发布之前在 Web 配置中编辑连接字符串。因此,新位置将更改为发布。不清楚这是网络托管服务器还是网络上的本地服务器。但是,您必须查看最终发布的位置,并硬编码(编辑)您在 Web 配置中拥有的连接字符串,或者创建一个使用 Server.MapPath 将 Web 文件夹路径名称转换为有效平面的公共应用程序范围的例程jane windows 文件路径名。

因此,这表明 Weblogin.mdb 文件必须位于网站中使用的文件夹的文件夹层次结构中(并且不能位于路径名的 wwwroot 文件夹系统之外。

鉴于您只能使用该访问数据库中的表,而不能使用其他访问功能,那么通常最好使用数据库服务器系统,如 SQl 服务器等,因为在这种情况下,您不会使用文件的有效路径名,但实际上可以使用连接字符串,这通常会减少您的麻烦或努力。

所以对于一个测试网站,或者非常轻的工作负载,你可以使用 access 数据库,但不建议这样做。 (访问是基于文件的,并不擅长处理多个请求和我们所说的线程代码)。因此,对于学习或测试,就可以了。对于非常轻的用户负载,可以再次使用访问。但唯一真正的好处是您可能节省了设置和使用真正的数据库服务器的时间和学习,其中网站与访问网站相比效果更好。

【讨论】:

以上是关于使用 MS Access 数据库发布 asp.net的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 MYSQL 查询访问 Ms-Access 数据库

实体框架加入 ms-access

寻求代码设计建议:使用 VB.Net 和 Ms-Access

在 MS Access 中触发

MS Access:Access 2016 应用程序能否与 Access 2007 一起使用?

使用 MS Access 数据库发布 asp.net