Hola a todos.
Tengo este código:
Código:
<%
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
%>
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.
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