<!--#include file="inc_const.asp"-->
<%response.expires=0
Response.CacheControl = "Private"
Server.ScriptTimeout = 1000
application.lock
set cschat=server.createobject("ffcschat.cssbchat")

my_level=cschat.getLevel(Session,Application(ConstStr & "_user_list"),Application(ConstStr & "_room_list"))
set cschat=nothing
application.unlock

if my_level-application( ConstStr & "_superlevel")<>0 then
  response.end
end if

On Error Resume Next

%>
<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'><META content="text/html; charset=gb2312" http-equiv=content-type>
<link rel="stylesheet" type="text/css" href="chat.css">
<style>p{color:#000000;text-align:left;margin-left:10px;margin-right:20px;margin-top:10px;margin-bottom:0px}</style>
<body style="background-color:EAF2FF;color:112233;scrollbar-Base-Color: #b0d8ff;SCROLLBAR-DARKSHADOW-COLOR:#b0d8ff;SCROLLBAR-arrow-COLOR:#336699;SCROLLBAR-TRACK-COLOR: EAF2FF;SCROLLBAR-3DLIGHT-COLOR: #b0d8ff;SCROLLBAR-SHADOW-COLOR: #336699;SCROLLBAR-HIGHLIGHT-COLOR: #b0d8ff;" leftmargin=3 topmargin=3 >
  <table cellspacing=0 cellpadding=0 align=center width=100% height=100%>
  <tr><td valign=center>
  <table width=80% cellspacing=0 cellpadding=0 style="border:'1px solid navy'">
  <tr><td class=navy2>导入老版本数据库</td></tr>
<%if request("cmdYes")="提交" then

OldConnStr = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="+server.mappath(replace(request.form("db_path"),"..",""))+";pwd="&request.form("db_pass")&";DefaultDir='';DriverId=25;FIL=MS Access;ImplicitCommitSync=Yes;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=15;SafeTransactions=0;Threads=3;UserCommitSync=Yes;"
Set oldconn = Server.CreateObject("ADODB.CONNECTION")
Set oldrs = Server.CreateObject("ADODB.RecordSet")
oldconn.Open OldConnStr
sql = "SELECT * FROM "&request.form("db_table")
oldrs.Open sql, oldconn, 1, 1

if err then
  err.clear
  response.redirect("showerr.asp?errtext=打开老数据库失败！")
  oldrs.Close
  Set oldrs = Nothing
  oldconn.Close
  Set oldconn = Nothing
  response.end
end if

Set Conn=Server.CreateObject("ADODB.Connection")
conn.open Application( ConstStr & "_connstr")
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql, conn, 1, 3
j=0
errText=""
rec_count=clng(request.form("rec_count"))
Do While Not oldrs.EOF
  j=j+1
  if j>rec_count then  
    errText="死循环或有超过" & rec_count & "行的数据行读入！"
    exit do
  end if
  k=0
  rs.AddNew
  for i=0 to oldrs.fields.count-1
    k=k+1
    if k>100 then
      errText="有死循环发生！！"
      exit for
    end if
    if lcase(oldrs(i).name)<>"bgcolor" and lcase(oldrs(i).name)<>"id" and not (isnull(oldrs(i).value) or isempty(oldrs(i).value)) then
      rs(oldrs(i).name)=oldrs(i).value
    end if 
  next
  rs.Update
  oldrs.MoveNext
Loop

oldrs.Close
Set oldrs = Nothing
oldconn.Close
Set oldconn = Nothing

rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing%>
<tr><td><P>
<%if errText<>"" then%>
<font color=red><%=errText%><br>
请检查数据库文件！</font>
<%else%>
老版本数据库表单<%=request.form("db_table")%>导入成功！<br>
请选择[<a href='javascript:history.go(-1)'>后退</a>]继续导入其他数据库表单！<br>
导入完毕后请初始化聊天室，用老数据库用户名登陆检查是否有误！<br>
导入成功后请删除olddb目录下的老版本数据库(请继续保留老数据库的备分)。
<%end if%></p>
<%else%>
<form action=olddb.asp method=post><tr><td><p><ol>
  <li>请备分老数据库，将老数据库改名为global.asa，拷贝至olddb目录下。仔细检查下面老数据库的配置信息是否无误。</li>
  <li>如果对老数据库属性不太清楚，请查看老版本程序的global.asa文件(不是db下的那个)或initglobal.asp文件。</li>
  <li>新数据库里面有相同的用户名或房间名，则不会导入。反复导入老数据库并不会出错，但如老数据库很大会占用较多服务器资源。所以，应避免反复导入老数据库。</li>
  <li>导入老数据库的房间数据，需要重新初始化聊天室才起作用。最好在所有表单导入之后，选择重新初始化聊天室。</li>
  <li><font color=red>最大记录数</font>防止<font color=red>死循环</font>产生，如果您选择导入ver1.2版本的呼叫(calls)表单，将导致产生死循环(其他输入错误也有可能产生死循环)。设置了最大记录数可以避免死循环的产生。但是如果您的老数据库记录总数超过了设置的最大记录数，将导致数据库导入不完全。</li>
  <li>在导入过程中如有问题，可以向作者<a href=maileto:wt89lxf@163.com >wt89lxf@163.com</a>发出email咨询(请提供服务器配置信息，新旧数据库的版本。一定尽力解决，未必一定能够解决,^-^)。</li></ol></p>
  <p><center>数据库路径：<input type=text name=db_path size=40 maxlength=100 value='olddb/global.asa' ></center></p>
  <p><center>数据库密码：<input type=text name=db_pass size=40 maxlength=20 value='WIUS9FKEF' ></center></p>
  <p><center>最大记录数：<input type=text name=rec_count size=40 maxlength=8 value='100000' ></center></p>
  <p><center><font color=red>数据库表单</font>：<input type=text name=db_table size=30 maxlength=20 value='user' >
  <select name='table_select' onchange='document.forms[0].db_table.value=this.value'>
  <option value='user'>选择</option>
  <option value='user'>----</option>
  <option value='user'>用户</option>
  <option value='room'>房间</option>
  <option value='calls'>呼叫</option>
  <option value='guestbook'>留言本</option>
  <option value='action'>动作</option>
  </select>
  </center></p>
  <p><center><input class=navy1 type=submit name=cmdYes value='提交' >
  <input class=navy1 type=reset name=cmdcancel value='重置' ></center></form>
<%end if%>
</p></td></tr>
</table><br>[<a href='javascript:history.go(-1)'>后退</a>]</table></body></html>