DW自定义连接数据库的一些体会
本人是初学者,过去曾遇见过使用DreamWeaver的自定义字符串连接来连接数据库,经常出错,也曾经在此请教过站长,给自己当头棒喝,使自己清醒了许多,其实写程序不必拘泥于形式,手写也不错,写之前可以先分析一下别人的源码。以下是自己关于数据库连接的一些体会,高手就不必看了。
以深度空间开发的公告管理系统为例,在自定义字符串的时候,使用的Provider的OLEDB连接,
conn.asp内容如下:
大家注意红色的地方,server.mappath后面要换成相应的虚拟主机的位置。但是,在实际使用的过程中,使用DreamWeaver的各种版本,包括MX、MX2004、DW8,经常出现数据库无法正常连接,或者,在应用程序选项卡里打开数据库的表格,里面会显示无,更有甚者,出现HTTP 405、403等各种错误信息,此时,首先需要检查IIS设置。
本人使用的是Windows 2003 Server+IIS6,默认情况下,虚拟目录是无执行权限的。在IIS里找到该虚拟目录,上面点击右键,属性,在下面的执行权限,由无修改为纯脚本,另外,IIS6默认情况下是不启用支持ASP的,需要在WEB服务扩展里面启用ASP的支持。
另外,最近才发现,使用相对路径自定义字符串连接数据库会经常出现这样或者那样的错误,而使用绝对路径自定义连接数据库的字符串却从未出现这种错误,站长也告诉我,尽量在开发阶段使用DSN连接,发布的时候使用自定义字符串。下面的这种方法既可以兼容DW对于数据库连接字符串的检测,数据库表格中再也不会出现“无”的提示了,也可以兼容发布的时候虚拟主机位置不同的情况了。
首先,需要看一下这个公告管理系统的文件夹层次,如图1所示,
conn.asp自定义连接库连接文件是位于Connections文件夹下面,它与^data#base^文件夹位于同一层次,而关键的DreamWeaver(以下简写为DW)生成的连接脚本却不是在这个文件夹,而是位于站点下面的_mmServerScripts文件夹下面,只有在硬盘上可以找到这个文件夹,而在DW的网站视图中,这个文件夹是不可见的,如图2所示,当数据库连接需要重建的时候,在站点菜单-高级-移除连接脚本就是清除这个文件夹的内容,所以,相对路径连接数据库的方法应该是../^data#base^这样写。
其次,打开conn.asp,在上述连接字符串的一行上面添加一行:
'MM_conn_STRING="Driver={Microsoft access Driver
(*.mdb)};dbq=H:DW+ASP_GongGao^data#base^%flash8#gg%.mdb"
如图3所示
注意,前面有一个单引号的注释符号,在DW中,检查连接数据库的文件时,是连注释都也解释执行的,而IIS中是把它注释掉,忽略执行的。这样,就会使在使用DW开发的过程中使用绝对路径自定义连接数据库的字符串,而在实际应用发布的时候,使用相对路径了。
如果大家还不相信前一段话的内容,可以打开应用程序面板-数据库,双击conn,出现的如图4所示的内容,字符串变成"Driver={Microsoft access Driver (*.mdb)};dbq=H:DW+ASP_GongGao^data#base^%flash8#gg%.mdb"
注意,此时,需要修改连接为使用此计算机上的驱动程序。否则,DW肯定会报错的。 明白这一点,过去自己就经常在conn.asp中加注释,汗,不知道那时候DW解释了没有,不过那时候经常出问题总算明白是什么原因了。然后测试字符串连接,出现成功的提示就OK了,不过,如果DW提示conn.asp在站外已经修改,是否重新载入,一定不要,否则,你刚才添加注释的那一行可能就被删除了。
以上内容是最近学习DW与数据库相应知识的一些理解,不正之处,还请各位多多指教。
原文: http://www.deepteach.com/Forum/dispbbs.asp?BoardID=10&replyID=863&id=340&skin=0
作者:jsdn2000
版权声明:
作者:xiaoniba
链接:https://blog.xiaoniba.com/2006/09/22/dw%e8%87%aa%e5%ae%9a%e4%b9%89%e8%bf%9e%e6%8e%a5%e6%95%b0%e6%8d%ae%e5%ba%93%e7%9a%84%e4%b8%80%e4%ba%9b%e4%bd%93%e4%bc%9a/
来源:小泥吧的博客
文章版权归作者所有,未经允许请勿转载。
爱上_鱼
好复杂啊 ,不过最近我也要学网页制作了 ,呵呵 我又来了,嘿嘿
thanks
欢迎常来,,,
中山推广
内容倒是说的很好,我也想去改正一下我在DW中连接数据出现的错误。但是文中所发的图片。我可是一张都看不到。希望网管能从新发布一下。或发往我的邮件中。感谢。
cq188
呵呵,,谢谢,,你的提醒,,,已更正,,,另已发一份到你的邮箱...
sky
"HTTP错误500内部服务器错误"是什么原因呀
小泥吧
是2k3吧 看看是否起用了父路径