Un script que escribí hace unos años puede reemplazar automáticamente los datos de toda la base de datos.
Al principio solo lo escribí por diversión, pero no esperaba que la gente siguiera preguntando sobre él después de que lo escribí, así que reescribí el código y lo mejoré. Admitía el reemplazo regular y evitaba los binarios (objetos antiguos) que causarían. errores e hice un programa EXE. Gracias por la ayuda virtual.
Código asp adjunto:
Copie el código de la siguiente manera:<%
'###################################
'Reemplazar por lotes el contenido de la base de datos 2008 -3-17
'El reemplazo es irreversible, así que haga una copia de seguridad antes de la operación
'############################### ### #
tenue Db,conn,Rs1,Rs2,Str1,Str2,I,Re
str1=admi[0-z] 'Cadena a reemplazar, admite
str2=1234'Cadena a reemplazar
Db=db.mdb 'Dirección de base de datos
' No es necesario para cambiar lo siguiente
'Crear objeto normal
Set Re=new RegExp
Re.IgnoreCase =True
Re.Global=True
Set Conn=Server.CreateObject(ADODB.Connection)
Conn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&server.mappath(Db)
Establecer Rs1 = Conn.OpenSchema(20)
Hacer mientras no Rs1.Eof
si UCase( Rs1(TABLE_TYPE))=TABLE Luego 'Si es una tabla de usuario, realice la
operaciónEstablecer Rs2=Server.Createobject(adodb.recordset)
Rs2.Open select * from [&Rs1(TABLE_NAME)],conn,1,3
Hacer mientras no Rs2.Eof
For I=0 to Rs2.fields.count-1 'Recorre todos los campos
Si Rs2(i).Properties(ISAUTOINCREMENT) = False y Rs2(i).Type<>128 y Rs2(i).Type<>204 Y Rs2(i).Type<>205 Entonces 'Si no es un número automático y no es un objeto antiguo
Rs2(Rs2(i).name)=Myreplace(Rs2(i ).value&)
Finalizar si es
siguiente
Rs2.Movenext
Loop
Rs2.Close
Establecer Rs2=nada
Finalizar si
Rs1.MoveNext
Loop
Rs1.Close
Establecer Rs1=Nada
Conn.close
Establecer Conn=Nada
establecido Re=Nada
Respuesta.Reemplazo de escritura
completado'Función de reemplazo personalizada
Función myreplace(byval Tstr)
Si Tstr= O isnull(Tstr) Entonces
salga de la función
De lo contrario
Re.Pattern=Str1
myReplace =Re.Replace(Tstr,Str2)
Finalizar si
finalizar la función
% >