|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
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)
[Microsoft][ODBCMicrosoftAccessDriver]罕见毛病不克不及翻开注册表关头字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做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。 |
|