FTP传送扩展名为ASP的数据库要注意传输类型
去年开始接管一个单位的网站,是用ASP制作的,其数据库为了防止别人下载命名成了abc.asp的形式。
管理网站首要的任务就是备份、恢复了,尤其是数据库。通常都是用FTP下载下来, 在本地进行备份。
FTP一直都用图形化工具FileZilla,文件的传输类型(文本或者是二进制)默认都已经设定好了,所以也就基本上都忘记这回事了。
刚接管这个ASP网站的时候,用FTP下载下数据库,然后再传到一个新建的网站上做修改测试。可新网站提示说数据库格式无法识别。开始我还想是不是下载下来的数据库被我的Access 2003打开修改以后被保存成2003格式,所以机器上的旧ASP程序认不出来。此后,就一直小小心心不敢在本地直接修改数据库,只能通过管理界面提供的接口。有一次为了删除所有的垃圾留言,还特地修改asp源代码把删除一条的按钮改成删除全部。
过了一个年以后,就把这个约束给忘了。这次在无法登录的情况下想要修改数据库复制一个管理员出来,最后在回传数据库文件的时候又出问题了。理所当然的,我又以为是数据库格式问题。可是后来的发现证明的我想法是错的。一个发现是Access(不论是2003或者是2007)在打开数据库的时候会显示此数据库是什么格式,是2000或者2003,即便修改过以后,格式不会改变;另一个发现是我将未修改过的数据库回传会网站的时候也遇到这个问题。这就说明不是Access格式的问题了,而纯粹是FTP传输过程中改变文件内容了。当想到FTP传输过程的问题是,我突然想到自己传的是一个ASP文件,而FTP工具肯定将其作为文本文来传输了,文件内容自然就被改变了。
想到这点,赶紧在设置里将文本类型的ASP扩展名删除,再进行回传。这下就没有问题了。嗯,这下终于松了口气 ,以后可以随便修改数据库文件了。只是不知道以后再过多久我会不会又忘记这个设置的问题,而且那个时候会不会记得来看这篇文章。但愿是不要忘记的好。
