前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ASP.NET中使用Access数据库的困惑

ASP.NET中使用Access数据库的困惑

作者头像
SAP梦心
发布2022-05-10 14:05:16
1.6K0
发布2022-05-10 14:05:16
举报
文章被收录于专栏:SAP梦心的SAP分享

这几天在做ASP.NET网站,后台数据库就用轻便的Access作数据库。我发现Access虽然相对MSSQL简单小巧,不用那么多的设置,但它也不轻松。如果你对它执行SQL语句的操作,万一表名或者字段名使用了它的关键字,那么就会抛出异常,而这些关键字在MSSQL中是很正常的。有时候这会让你苦不堪言。

Access作数据库的一个好处就是它可以随意携带而且不用像MSSQL一样还要附加和配置。但它的优势也是它的劣势,Access作为一种文件如果泄漏了它的地址则很容易就被下载下来,这样网站安全性就无从谈起。

在ASP.NET中使用Access数据库其中最让人郁闷的就是数据库地址的指定。在桌面程序中,我们只需要用System.Windows.Forms.Application.StartupPath加数据库相对地址就可以了,而在WEB程序中将是另外一种光景。当然,我们也可以System.Web.HttpContext.Current.Server.MapPath这个Web服务器上指定虚拟路径相应的物理文件路径。但这个东东在Internet信息服务里面变得会很异常。也就是说你在VS2008里面调试的或者在浏览器里面进行调试都没有问题,但到Internet信息服务里面直接浏览网站就会报错,可能这个跟Web服务器网站和虚拟路径不太一样。

一旦你的网站发布了,那么所有的代码文件将被转换为DLL直接存放在bin文件夹里,如果你的数据库存放在网站根目录下的Data文件夹下,那么你要在浏览器中可用就必须这样指定地址:System.Web.HttpContext.Current.Server.MapPath("~\\Data\\Data.mdb"),也就是前面加个“~”。难道说我们所要用到的网站主目录是Bin文件夹?

而无论你怎么变,在Internet信息服务里面都是运行不了的…搞笑的是在VS2008里面调试的时候却都能适用,即使你把“~”忘记了。

有谁能告诉为什么呢?我想,我应该去百度一下…

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2009-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档