限制数据库文件大小的解决方法

减小字体 增大字体 作者:未知  来源:未知  发布时间:2005-7-26 8:45:37


  一般来说,论坛所有的数据都是保存到一个数据库中,这就导致数据很大,对于有些限制文件大小的站点来说,很容易超过限制!我下面所讲的方法是以拆分数据库的方法来达到降低数据库文件大小的方法!

  一般的论坛分成多个版块的,比如新闻版块、PC版块等。那么我们就可以从这里入手。每个版块的记录就做为一个独立的数据库,一个数据库里面只放保存记录的这张表,这样对于一个Access数据库来说,就可以存放很多的记录了。而用另一个独立的数据库来存放论坛管理、权限、会员资料等。

  在打开记录显示出来时,让系统自动指定打开哪一个数据库,这样就能够保证论坛的安全和稳定!比如现在有10个版块,那么分别新建10个数据库,这10个数据库分别存放10张结构相同的表。我们将10个存放记录的数据库分别命名为AA1~AA10.mdb!将存放论坛资料的数据库命名为bbs.mdb。比如要打开第一个版块的内容,那么就让程序自动赋值1给一个变量id,那么显示记录的那个文件,接收到id这个变量,就来打开第一个数据库中的数据表。

  显示整个论坛列表时的方法:

  首先在bbs.mdb这个数据库中记录这个论坛的版块数和版块的编号,这样便于操作!读取这个表中记录版块数的字段,将这些字段都显示,在显示的时候,加上一个链点带有id的值(这个ID值就是用来指向到具体名字的数据库),这样就能够获得打开哪一个数据库的值了。我们在每一个连接到显示具体版块的链点时,给一个具体id的值,直接就可以显示这个版块的内容,就不需要再修改显示具体版块文件的代码了。

  引用数据源,我们将数据源放在conn.asp和connlist.asp文件中,conn.asp是用来打开bbs.mdb这个存放数据库操作数据的数据源,connlist.asp则是用来打开存放版块记录AA1~AA10.mdb的值。

conn.asp代码如下:
<%
Set myconn = Server.CreateObject("ADODB.Connection")
connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("bbs.mdb")
myconn.open connstr
%>


connlist.asp代码如下:
<%
id=request.QueryString("id")
if id="" then '如果id的值为空,那么就说明要读取所有的记录表
 
  bds=myconn.execute("select count(bdname) from bdinfo where key<>'0'")(0)
  bdss=bds
  for id=1 to bdss
    Set myconn1 = Server.CreateObject("ADODB.Connection")
    connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("AA"&id&".mdb")
    myconn1.Open connstr
  next
else '如果id的值不为空,那就说明要打开具体的记录表
  Set myconn1 = Server.CreateObject("ADODB.Connection")
  connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("AA"&id&".mdb")
  myconn1.Open connstr
end if
%>


  显示具体版块的内容的代码中,在前在加上:
<%
id=request.QueryString("id")
%>

  这一句话就可以直接打开具体的版块内容了!
[数据载入中...] [返回上一页] [打 印]