深爱那片海 发表于 2015-1-16 22:47:34

ASP教程之ASP中access数据库的路径成绩

SQLServer是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。access|数据|数据库|成绩本人平常做的网站年夜多利用的是SQL数据库,以是对利用ACCESS数据库的网站没有太多的打仗。昨日在帮伴侣做一个利用ACCESS数据库的网站背景办理程序时,碰到了一些贫苦。



该网站的目次设置以下(只列出了相干部分)


F1目次是背景办理程序地点,F2目次下的MYDATA.MDB是数据库文件,CNN.ASP中写了然数据库的毗连体例,在其他文件中以包括文件的体例来利用。



由于MYDATA.MDB和CNN.ASP在统一目次下,因而CNN.ASP中的毗连语句是这么写的:

strCnn="driver={microsoftaccessdriver(*.mdb)};dbq="&_

Server.Mappath("mydata.mdb")



因为是本来写好的,我没有细心思索甚么,就间接在F1目次下的INDEX.ASP文件中到场F2语句

<!--#includefile="../F2/Cnn.asp"-->

然后运转……嗯???堕落了!!

MicrosoftOLEDBProviderforODBCDrivers(0x80004005)
罕见毛病不克不及翻开注册表关头字Temporary(volatile)JetDSNforprocess0x94Thread0x9a0DBC0x13b0074Jet。

毛病提醒是在OPEN数据库时堕落了,没有找到该数据库。岂非是数据库路径不合错误?



将CNN.ASP中的strCnn输入看看先

driver={microsoftaccessdriver(*.mdb)};dbq=C:F1mydata.mdb

公然,路径毛病!



看来,是这个Server.MapPath将包括CNN.ASP文件的页面文件的地点路径做为了以后路径。即假如是F1目次下的INDEX.ASP包括了CNN.ASP,则此时的Server.MapPath("mydata.mdb")就是C:F1mydata.mdb;假如F1目次下的NEWS目次下某个文件包括了CNN.ASP,则此时的Server.MapPath("mydata.mdb")就是C:F1Newsmydata.mdb;

经由考证,证实情形的确如上。



成绩发明了,就该办理了它。因为没法限制在几级目次中要包括CNN.ASP文件,因而利用Server.MapPath就没法猎取数据库准确的路径;岂非要在一切利用数据库的文件中全体写进该数据库的毗连?这是下下策,只管制止。



经由N分钟的思索,终究想出了一个较为划算的办法,就是不利用假造路径,先断定根目次的实践路径,然后到场数据库的地点路径。完成代码以下:



Cnn.asp文件:



DimstrCurPath,strCurLocation



猎取包括该文件的页面文件的假造路径

strCurPath=Request.ServerVariables("PATH_INFO")

猎取包括该文件的页面文件的实践路径

strCurLocation=Request.ServerVariables("PATH_TRANSLATED")



转换路径距离标记(假造路径用"/"分开,实践路径用""分开)

strCurPath=Replace(strCurPath,"/","")



失掉网站根目次的实践路径

strCurLocation=Replace(strCurLocation,strCurPath,"")



指定命据库实践路径

strCurLocation=strCurLocation&"F2MyData.mdb"



SetCnn=Server.CreateObject("ADODB.CONNECTION")

毗连到数据库服务器,数据库称号mydata.mdb

strCnn="driver={microsoftaccessdriver(*.mdb)};dbq="&strCurLocation

Cnn.OpenstrCnn



就这些了,扔砖头吧



</p>在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。

若天明 发表于 2015-1-19 23:42:21

他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。

谁可相欹 发表于 2015-1-28 15:27:53

如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。

再现理想 发表于 2015-2-5 20:14:24

Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件

仓酷云 发表于 2015-2-13 07:40:31

运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。

金色的骷髅 发表于 2015-3-3 17:25:27

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。

山那边是海 发表于 2015-3-11 12:08:20

运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。

小妖女 发表于 2015-3-18 10:26:42

我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。

冷月葬花魂 发表于 2015-3-25 16:18:53

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
页: [1]
查看完整版本: ASP教程之ASP中access数据库的路径成绩