asp——奇思妙想 & 困惑

王朝html/css/js·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

asp——奇思妙想 & 困惑

asp——奇思妙想 & 困惑 这几天为学校做了几个网站,发现一个问题,有一些数据库(大部分是Access的,还有一些MSql的)在设计时出现了问题,造成了数据库里面的很多内容是冗余的,所以需要对数据库进行清理。所以就开始写了一个asp的文件CleanData.asp(代码见后文)。

关键问题在于数据库的问题,我本来在我的机器上有测试的数据,但是我需要修改网络上的数据,而我们学校为了安全,校园网的ftp不开,要更新网络的跑道网络不去更新数据,很麻烦的。

所以我就想,能不能在我本地使用文件访问远程的数据库了,进行远程操作呢?

我开始没有注意,在写代码时发现了这个东西:

objConn.ConnectionString

其中我用'Provider=Microsoft.Jet.oledb.4.0;Data Source =' & DataSourcePath

来连接,写到这得时候,我突然想到DataSourcePath的问题,我可不可以设置为远程的地址呢?比如:http://www.xxx.com/data.mdb

我刚才测试了一下,失败了!但是我还是不甘心,感觉到好像可以?等明天再看看,今天记录以下!

源码:

<!--#include file='Common/WebConfig.asp' -->

<!--#include file='Common/clsmain.asp' -->

<%

dim action,datatype

action=lcase(trim(request.QueryString('action')))

datatype=lcase(trim(request.Form('datatype')))

if action='clear' then

call cleardata(datatype)

end if

%>

<form name='form1' method='post' action='?action=clear'>

<table width='80%' border='0' align='center' cellpadding='0' cellspacing='0'>

<tr>

<td><div align='right'>选择清除对象: </div></td>

<td><label>

<div align='left'>

<select name='datatype'>

<option value='0'>一级分类</option>

<option value='1'>二级分类</option>

<option value='2'>新闻内容</option>

<option value='3'>全部</option>

</select>

</div>

</label></td>

<td>&nbsp;</td>

</tr>

<tr>

<td>&nbsp;</td>

<td>&nbsp;</td>

<td>&nbsp;</td>

</tr>

<tr>

<td colspan='2' rowspan='2'>&nbsp;</td>

<td>&nbsp;</td>

</tr>

<tr>

<td>&nbsp;</td>

</tr>

<tr>

<td><label>

<div align='center'>

<input type='submit' name='Submit' value='确定'>

</div>

</label></td>

<td><label>

<div align='center'>

<input type='reset' name='Submit2' value='取消'>

</div>

</label></td>

<td>&nbsp;</td>

</tr>

</table>

</form>

<%sub cleardata(j)

Dim dsj

Set dsj=New clsDSJ

dsj.debug=true

IF NOT dsj.Debug Then ON ERROR RESUME NEXT

dsj.ClientConnected

dim str(3),msg

str(0)='DELETE dsj_catalog.* ' & _

' FROM dsj_catalog ' & _

' WHERE ' & _

' catalogid NOT IN (SELECT parentid FROM dsj_class)'

str(1)='DELETE dsj_class.* ' & _

' FROM dsj_class ' & _

' WHERE ' & _

' parentid NOT IN (SELECT catalogid FROM dsj_catalog)'

str(2)='DELETE dsj_news.* ' & _

' FROM dsj_news ' & _

' WHERE ' & _

' classid NOT IN (SELECT classid FROM dsj_class)'

dim conn,cmd

set conn=server.CreateObject('adodb.Connection')

conn.ConnectionTimeOut=15

'conn.ConnectionString='Provider=Microsoft.Jet.oledb.4.0;data source=' & Server.MapPath(dbFolder & DataBase)

dim remoteDB

remoteDB='http://depart.sjzu.edu.cn/depart/xuesheng/xsc1/manage/data/news.mdb'

conn.ConnectionString='Provider=Microsoft.Jet.oledb.4.0;data source=' & remoteDB

conn.open()

conn.begintrans()

set cmd=server.CreateObject('ADODB.command')

cmd.commandtimeout=15

cmd.activeConnection=conn

cmd.commandtype=1

dim i

for i=0 to 2

if j=3 then j=i '保证全部执行

cmd.commandText=str(j)

cmd.execute()

if (j<>3 and j<>i) then exit for '确保这里只执行一次

next

if conn.errors.count=0 then

conn.committrans()

msg='成功执行'

else

conn.rallbacktrans()

msg='发生错误'

end if

dsj.alert(msg)

set dsj=nothing

end sub

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航