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做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
页:
[1]