化整为零空间无限──用链接数据表突破服务器文件大小限制

数码时尚

  一般来说,常见ASP论坛的所有的数据都是保存到一个Access数据库中的,这就导致数据库文件体积很大。对于有些限制单个文件大小的站点来说,很容易超过限制!比如动网论坛6.1的初始数据库就已经达到了2MB,而笔者使用的ASP空间只允许上传1.5MB大小的文件。经过摸索,终于找出了一套拆分数据库的方法,希望对现在还在用限制多多的免费ASP空间的朋友们有所帮助!

  先用Access打开动网的数据库,可以看到里面有很多数据表。数据表里存放着论坛的基本设置、帖子、主题、短消息、用户资料等等。论坛正常开放一段时间之后,会发现其中几个表中数据量增大:address、bbs1、Topic、Dv_fileup、Message、log。把这几个大表从主数据库里分离出来,使每个数据库文件不超过1.5MB,就能达到服务器的要求了。

  先建立几个新数据库文件: address.mdb、bbs1.mdb、Topic.mdb、Dv_fileup.db、Message.mdb、log.mdb,分别把address、bbs1、Topic、Dv_fileup、Message、log数据表复制进去,一般来说,经过“压缩和修复数据库”操作后每个文件的大小都不到1.5MB。

  然后在主数据库中把已经复制了的的数据表删掉,再在空白处点右键,选“链接表…”,分别找到新建的那几个数据库文件,选中数据库文件中需要链接的数据表。链接表和普通表相比,图标前多了一个小箭头。双击表的图标,看看是不是跟普通表一样访问。

  注意:链接数据库时要求必须用绝对路径。

  为了保证链接数据库的正确性,可以写一个test.asp上传到数据库的路径下,取得服务器的真实路径。文件只有一行:

  <%=Server.MapPath("test.asp")%>

  在浏览器中访问test.asp,它返回:“D:\coolusr45687\XXX\data\test.asp”(XXX是我在服务器上的用户名),这就是服务器上数据库的绝对路径。

  现在在自己的电脑上也建立一个相同路径的文件夹(例如D:\coolusr45687\XXX\data),把全部数据库文件复制进去。删掉主数据库中的链接表,重新做一遍链接。这样服务器上也能正常的链接到其他数据库了。

  提示:

  1.Access97格式的数据库比Access2000的小很多,建议用“工具→数据库实用工具→转换数据库→到早期Access数据库版本…”进行转换。

  2.数据库链接之后,每一个数据库都用“工具→数据库实用工具→压缩和修复数据库”压缩一遍,数据库体积还会小很多。

  3.动网论坛支持多个数据表存储帖子,比如bbs1、bbs2、bbs3。可以建立多个数据表并将数据表分到多个数据库中减小单个数据库体积。