Tengo este código:
Código:
El cual recorre un directorio y compara cada archivo con la base de datos, si no está en la base de datos lo elimina del directorio.<% Dim Conexion, Tabla, qry, connectstr, db_name, db_username, db_userpassword, db_server db_server = "my.server.net" db_name = "name" db_username = "username" db_userpassword = "password" connectstr = "Driver={MySQL ODBC 3.51 Driver};SERVER=" & db_server & ";DATABASE=" & db_name & ";UID=" & db_username & ";PWD=" & db_userpassword Set Conexion = Server.CreateObject("ADODB.Connection") Conexion.Open connectstr Set objFSO = Server.CreateObject("Scripting.FileSystemObject") Set folder = objFSO.GetFolder (Server.MapPath("/public/"& Request("seleccion") &"/"&Request("letra")&"/")) Response.Write folder &" Haciéndose. <br>" For each File in folder.Files nuevonombre = replace(file.name,"'","''") qry = "SELECT * FROM "& Request("seleccion") &" Where UCase(pal) = '" & nuevonombre & "'" set Tabla = Conexion.execute(qry) If Tabla.BOF And Tabla.EOF Then 'si no esixte delete hipervinculo=folder & "/" & file.name Response.Write hipervinculo &" Eliminado. <br>" objFSO.DeleteFile(hipervinculo) end if Tabla.close next 'file Response.Write folder &" Terminada. <br>" Conexion.Close %>
Funciona bien, pero deja al server pillado durante el tiempo que tarda en recorrer el directorio y tarda más de media hora en una carpeta con unos 1000 archivos.
Alguien puede decirme por qué pasa esto ??
Que hay mal en el código ??
He probado también con base de datos access y hace lo mismo.
Salu2